Javascript 通过jquery提交表单会删除提交输入变量
这是我的HTML:Javascript 通过jquery提交表单会删除提交输入变量,javascript,jquery,html,form-submit,forms,Javascript,Jquery,Html,Form Submit,Forms,这是我的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"
<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>
$(“#测试”).submit();
生成的结果请求中有var1,但没有var2。我的问题是为什么以及我能做些什么来获得var2
这里有一个现场演示:
尝试:
method=“post”
在表单中或使用
只有在单击表单提交表单时,表单才应提交提交按钮的值(请参阅)。调用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>
提交表格
或者,正如用户3701524所建议的,如果合适的话,使用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()
都不会发送按钮值,因为按钮本身不会触发该值
希望有帮助 var2是submit按钮,您只会得到var1,这不是问题。var2是submit按钮,它不会发布值,您需要添加另一个输入类型hidden/text等“您发布的代码将无休止地提交表单,谢谢”不,没有-除非你修改了我发布的代码,如果你这么做了,我很难对此负责。如果设置了
$\u GET['var1']
,则会显示打印输出。复制并粘贴到浏览器中,$(“#测试”)。提交()
提交表单,重新加载页面,提交表单……这就是为什么我在设置了$\u GET['var1']时退出了我在上提供的实时演示。我发布的代码只是为了对我想要做的事情给出一个概念性的概述。如果我加入了现场演示的PHP代码,那可能会让不懂PHP的人感到困惑。既然这个问题最终不是一个PHP问题。。。