我很想知道,我的表单上有2个输入提交。 一个人有一个名字:
<input name="_close" type="submit" id="myId" value="close">
当我点击它时,我通过(在用JS做事之后)提交表格
$('#myForm').submit();
然后在我的服务器代码中,我在Request
上测试它是否有query
“_ close”但似乎并非如此。
我的问题是:
有没有办法让jQuery
方法.submit()
保留点击的输入按钮的名称,或者在我的下一个请求中手动指定.submit()
函数我想要的额外参数?
感谢。
答案 0 :(得分:2)
我不确定提交按钮以及如何/如果它们被传递但是如果它们不是你可以在你的预提交javascript中将值分配给同名的隐藏输入。
我刚给你做了一个例子。
<强>的test.html 强>
<form action="test.php" action="POST" >
<input type="submit" name="submitButton" value="Click me to submit" />
</form>
<强> test.php的强>
<?php
echo $_POST['submitButton'];
?>
回复点击我提交
然后我使用jquery中的submit函数进行了另一个测试,该函数没有传递值。
原因是您可以测试服务器端按下了提交按钮,因为您可能在表单上有多个提交按钮。通过检查该值,您可以测试用于提交表单的具体内容。
要允许您将外部输入用作特定的提交按钮,以便在请求中传递其名称/值对,而不是在jquery中的表单上调用submit()
,请选择提交按钮本身并调用click()
就可以了。这将告诉表单使用了特定的提交按钮,因此在请求中设置了它的值。
答案 1 :(得分:2)
而不是
$('#myForm').submit()
尝试
$('#myId').click();
这将使您的表单提交同时您可以识别触发表单提交的按钮。