[英]Retaining values of dynamically populated select option after form submit in php
提交表单后,我尝试保留表单值。
document.getElementById('start_date').value = "<?php echo $_POST['start_date'];?>";
document.getElementById('end_date').value = "<?php echo $_POST['end_date'];?>";
它适用于日期选择器,但不适用于选择选项。
HTML代码:
<form id=Inputs action="" method="POST" onsubmit="return ray.ajax()">
<center><table>
<td align="left" width=200px> <b>Select The Product:</b>
<select name="product" id="product" onChange="changecat(this.value);changeenv(this.value);">
<option value="" disabled selected>Select</option>
<option value="MOBILE">MOBILE</option>
<option value="RAM">RAM</option>
<option value="CAT">CAT</option>
</select></td>
<td width=200px> <b>Select Data Center:</b>
<select name="dc" id="dc">
<option value="" disabled selected>Select</option>
</select></td>
<td width=200px> <b>Select Environment:</b>
<select name="env" id="env"><option value='NO' selected disabled>Select</option>
</select></td>
<td width=200px> <b>Select Start Date:</b>
<input type="date" name="start_date" id="start_date">
</td>
<td width=200px><b>Select End Date:</b>
<input type="date" name="end_date" id="end_date"></td></tr></table></center><br>
<div align="center"><input type="submit" class="button" value="Submit" name="submit" onclick="clearBox('tb')"> <input type="reset" class="button" value="Reset" name="reset" onclick="clearBox('tb')"></div>
<br>
</form>
使select下拉列表动态填充的JS代码:
<script language="javascript" type="text/javascript">
var mealsByCategory = {
MOBILE: ["Select","ALL","RED","GREEN"],
RAM:["Select","ALL","ROM","CPU"],
CAT:["Select","ALL","DOG","FOOD"],
}
function changecat(value) {
if (value.length == 0) document.getElementById("dc").innerHTML = "<option></option>" ;
else {
var catOptions = "";
for (categoryId in mealsByCategory[value]) {
catOptions += "<option>" + mealsByCategory[value][categoryId] + "</option>";
}
document.getElementById("dc").innerHTML = catOptions;
}
}
var environment = {
MOBILE: ["Select","Pr","Prv"],
RAM:["Select","Pr","Sl"],
CAT:["Select","Pr","BS"],
}
function changeenv(value) {
if (value.length == 0) document.getElementById("env").innerHTML = "<option></option>" ;
else {
var envOptions = "";
for (categoryId in environment[value]) {
envOptions += "<option>" + environment[value][categoryId] + "</option>";
}
document.getElementById("env").innerHTML = envOptions;
}
}
</script>
您的代码中有错误,如下所示:
var environment = {
MOBILE: ["Select","Pr","Prv"],
RAM:["Select","Pr","Sl""], // Remove extra "
CAT:["Select","Pr","BS"],
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.