[英]submitting a form via jquery removes submit input variable
这是我的HTML:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="test" method="get" action="">
<input type="hidden" name="var1" value="true" />
<input type="submit" name="var2" value="submit" />
</form>
<script>
$("#test").submit();
</script>
产生的结果请求中包含var1,但没有var2。 我的问题是为什么以及如何获得var2?
这是一个现场演示:
试试: method="post"
形式或使用<button type="submit"></button>
仅当单击表单提交表单时,表单才应提交“提交”按钮的值(请参见HTML5 4.10.22.4构建表单数据集 )。 调用submit方法不会单击按钮,因此不会提交值。
您张贴的代码将不断提交表单,谢谢。
您可以调用按钮的click方法,但是可能在各处都不起作用(即,提交按钮的值):
<form id="test" method="get" action="">
<input type="hidden" name="var1" value="true">
<input type="submit" name="var2" value="submit">
</form>
<button onclick="$('#test')[0].var2.click()">submit form</button>
或者,如user3701524所建议的那样,如果适合,请使用method = post 。
仅当您实际上单击该按钮时,才会提交按钮上的值。 为了使一切正常,我建议绑定到
$('form').on('submit', function(e) {
// here you have the button value if it was clicked.
e.preventDefault(); // optional this prevent default submission.
});
无论哪种方式,调用$('form').submit()
都不会发送按钮值,因为它不是由按钮本身触发的。
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.