我有一个表单,提交按钮不起作用。提交是基于某人是否批准或拒绝。如果有人通过使用他们输入的临时ID返回到页面,也批准拒绝下拉需要预先填充。
当我使用html时它正在工作,但是当我在php中添加它时它不起作用。我认为这是因为我没有调用selectbasic但我不知道在哪里添加id。我尝试了不同的变化,无法让它发挥作用。
<form name="iform" id="myform" method="post" onsubmit="submitForm" onreset="" enctype="multipart/form-data" action="submitForm" class="iform">
<label for="Email">Email Address for Officer:</label>
<input class="itext" type="text" value="<?php print $jsonData['Email']; ?>" name="Email" id="Email" />
<br /><br />
<label for="ApproveDeny">Approve or Deny Warrant:</label>
<select class="iselect" name="selectbasic" id="selectbasic">
<?php
$values = array("1" => "Choose an option", "2" => "Approved", "3" => "Denied");
foreach ($values as $value) {
$selectString = '';
if ($value == $jsonData['selectbasic']) {
$selectString = ' selected';
}
print '<option value="' . $value . '"' . $selectString . '>' . $value . '</option>';
}
?>
</select>
<br /><br />
<label> </label><button type="submit2" class="btn btn-success">submit</button>
<input type="hidden" name="tempId" id="tempId" value="<?php print $tempId; ?>" />
</form>
的javascript
<script type="text/javascript">
document.getElementById('selectbasic').onchange = function(){
if (this.value=="2") {
newAction='html_form_judge.php';
} else if (this.value=="3") {
newAction='html_form_judgedeny.php';
} else {
newAction='else.php';
}
document.getElementById('myform').action = newAction;
}
</script>
答案 0 :(得分:2)
您可以将每个选项的值设置为数组中每个元素的名称,而不是数字键。这样做:
foreach ($values as $id => $value) {
...
print '<option value="' . $id . '"' . $selectString . '>' . $value . '</option>';
}
这样,在您的javascript中,所选值实际上可能等于&#34; 2&#34;而不是&#34;已批准&#34;。
答案 1 :(得分:0)
尝试 ...行动=&#34; POST&#34; ... 为您的动作属性。这指定了表单提交的类型,而不是在发送表单之前调用的任何函数。
答案 2 :(得分:0)
您可以从表单元素中删除onrest
。
如果需要表单重置功能,可以使用参数type="reset"
添加输入。
我还建议您将submit2
重命名为submit
。