当我从下拉列表中选择任何选项时出现错误,即未定义this.form.submit() - 我的代码是这样的:
<form action="entity_report.php" method="GET" onsubmit="return makeSelection();">
<div align="center"">
<select name="state" onchange="this.form.submit();">
<option>Choose One To Submit This Form</option>
<option value="CA">CA</option>
<option value="VA">VA</option>
</select>
</div>
<input type="submit" value="Click here">
</form>
答案 0 :(得分:3)
你可以编写jquery函数来选择更改javascript
$("state").change(function() {
$(this).closest("form").submit();
});
答案 1 :(得分:2)
可能与<form ... onsubmit="return makeSelection();">
有关?!尝试为您的表单设置ID并通过ID访问它。
答案 2 :(得分:2)
您还可以为表单命名=“myform”并使用:onchange =“myform.submit();”
答案 3 :(得分:2)
this.form.submit()
无法定义。在此上下文中,“this”指的是您的select-tag。您的select-tag没有名为“form”的子项。
要做到这一点,您需要使用name
属性为表单命名,即
<form name="myform" action="entity_report.php" method="GET" onsubmit="return makeSelection();">
...
</form>
并通过文档访问它:
<select name="state" onchange="document.myform.submit();">
修改强>
在测试中我发现,在手动提交表单时不会调用onsubmit事件。我发现的解决方法是在调用document.myform.onsubmit();
submit()
答案 4 :(得分:2)
您可以使用javascript函数提交表单..
<select name="state" onchange="submit_my_form(this);">
<script>
function submit_my_form(myfield)
{
myfield.form.submit();
}
</script>