我在表单中有2个选择元素。第一个选择元素是静态的,第二个选择选项根据第一个选择元素而改变。 为此,我使用了jquery ajax。我得到了所有的东西。 当我提交表格时会出现问题。我没有得到第二个选择元素值。 我的代码在IE中运行。 但不是Chrome和Mozilla。 我的html文件是
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>DATA ENTRY</title>
<script type="text/javascript" src="js/jquery-min.js"></script>
</head>
<body>
<table class="data_table">
<form name="form2" id="form2" method="post" action="submit_ops.php" />
<tr>
<td>
<select name="databaseTable" class="databaseTable">
<option value="">Select Table</option>
<option value="value1">value1</option>
<option value="value2">value2</option>
<option value="value3">value3</option>
</select>
</td>
<td>
<select id="TableColumn" name="TableColumn">
</select>
</td>
</tr>
<tr>
<td colspan="3"><input type="submit" value="Continue" name="usubmit"/></td>
</tr>
</form>
</table>
</body>
<script type="text/javascript">
$(document).ready(function(){
$("[name^=databaseTable]").on("change", function(){
var val=$(this).val();
$.ajax({
type: "POST",
url: "ajax.php",
data: {"val" : val},
success: function(result){
$("#TableColumn" ).html(result);
}
});
});
});
</script>
</html>
当我提交表单时,TableColumn(第二个选择元素)的值不可用。
答案 0 :(得分:0)
这是因为您没有为第二个元素指定任何名称,请将其更改为:
<select id="TableColumn" name="second">
</select>
答案 1 :(得分:0)
#TableColumn
没有名称属性,因此未提交其值。
<td>
<select id="TableColumn" name="TableColumn">
</select>
您的HTML无效(表格为表格的(直接)子项),因此浏览器正在尝试理解它,最终会在您的表单之外进行第二次选择。使用适当的HTML来避免这个
<form ...>
<table ...>
...
</table>
</form>