繁体   English   中英

通过jQuery提交表单删除提交输入变量

[英]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?

这是一个现场演示:

http://www.frostjedi.com/terra/dev/submit.php

试试: 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM