【发布时间】:2012-04-19 20:44:05
【问题描述】:
我正在尝试通过标签上的 onclick 事件提交表单。我曾尝试触发 document.myform.submit()、this.form.submit()、parentNode.submit() 等,但这些都不起作用!使用提交按钮,代码工作正常。但我想用标签代替它。需要一些帮助。
<form id="myform" name="myform" method="POST" action="process_edit_questionnaire.php?project=<?php echo $project_id; ?>">
<input name="module" type="hidden" value="<?php echo $module_id;?>"/>
<input name="project" type="hidden" value="<?php echo $project_id;?>"/>
<input name="hidden_ques_id" type="hidden" value="<?php echo $data_array_ques[$j]['ques_id'];?>"/>
<div id="question_block">
<div id="serial_block">
<p id="s_original_<?php echo $j+1; ?>"><a href="#" onclick="showSelectBox(<?php echo $j+1; ?>)">Serial :
<?php
if($data_array_ques[$j]['ques_position']==NULL){
echo $j+1;
}
else {
echo $data_array_ques[$j]['ques_position'];
} ?></a></p>
<p id="s_select_box_<?php echo $j+1; ?>" style="display: none;">Serial :
<select name="serial">
<?php for($p=1;$p<=count($data_array_ques);$p++){ ?>
<option value="<?php echo $p; ?>" <?php if($p==$data_array_ques[$j]['ques_position']){ echo "selected=\"selected\"";} ?> ><?php echo $p; ?></option>
<?php } ?>
</select>
</p>
</div>
<div id="question_text">
<a href="#" onclick="showTextBox(<?php echo $j+1; ?>)"><p id="q_original_<?php echo $j+1; ?>"><?php echo $data_array_ques[$j]['ques_text']; ?></p></a>
<p id="q_text_box_<?php echo $j+1; ?>" style="display:none;"><textarea id="ques_text" name="ques_text" rows="3" cols="30"><?php echo $data_array_ques[$j]['ques_text']; ?></textarea></p>
</div>
</div>
<div id="menu_block">
<a href="" onclick="document.myform.submit()">Save Changes</a> |
<a href="delete_question.php?project=<?php echo $project_id; ?>&module=<?php echo $module_id; ?>">Delete This Question</a>
</div>
</form>
【问题讨论】:
-
如果它有效并帮助你可能会很高兴在这里接受一个答案,这就是这个网站的工作方式:)
-
等一下……我经常看到 PHP 输出
$j,它看起来像一个迭代器……这整个事情是在循环中发生的吗?您要输出此表单的多个副本吗?如果是这样,这意味着有多个表单具有相同的 ID 和名称,您需要像处理其他所有内容一样将$j添加到 ID 和名称中。如果没有,请忽略。
标签: javascript html forms submit