我正在使用 JavaScript 根据如下下拉选择加载不同的表单:
<select id = "opts" onchange = "showForm()">
<option value = "0">Select Option</option>
<option value = "1">Option 1</option>
<option value = "2">Option 2</option>
</select>
<div id = "f1" style="display:none">
<form name= "form1">
Content of Form 1
</form>
</div>
<div id = "f2" style="display:none">
<form name= "form2">
Content of Form 2
</form>
</div>
<script type = "text/javascript">
function showForm(){
var selopt = document.getElementById("opts").value;
if (selopt == 1) {
document.getElementById("f1").style.display="block";
document.getElementById("f2").style.display="none";
}
if (selopt == 2) {
document.getElementById("f2").style.display="block";
document.getElementById("f1").style.display="none";
}
}
</script>
我已经删除了实际的表单细节,因为此时它们并不重要。无论如何,提交表单时,它会通过一系列验证:
if (isset($_POST['submitted'])) {
//validation codes
}
这很好用,但如果验证失败,它会重新加载页面并因此重置下拉框,并且不会显示先前选择的选项。我希望它保留先前的选择,或者只是在提交失败时将选择 1 加载到 javascript 位中。有任何想法吗?
伊恩