Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过jquery提交表单会删除提交输入变量_Javascript_Jquery_Html_Form Submit_Forms - Fatal编程技术网

Javascript 通过jquery提交表单会删除提交输入变量

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"

这是我的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>

$(“#测试”).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问题。。。