2016-08-17 48 views
0

我刚刚使用JQuery .submit()添加了将HTML表单发送到服务器的方法。我注意到,当我设置name="submit"它无法发送表单。当我将名称更改为"submit"以外的名称时,它会发送!为什么不使用jQuery发送名称为“submit”和type =“submit”的HTML表单

这不起作用:

<form class="edit_a_leaver" action="editLeaver" method="post" hidden> 
    <input class="leaver_id" name="leaver_id" type="text"> 
    <input name="submit" type="submit" value="submit"> 
</form> 

这不工作:

<form class="edit_a_leaver" action="editLeaver" method="post" hidden> 
    <input class="leaver_id" name="leaver_id" type="text"> 
    <input name="submit_button" type="submit" value="Send"> 
</form> 

JQuery的:

$(".edit_a_leaver").submit(); 

能有人向我解释,为什么?我尝试过搜索。

+1

你为什么要使用提交表单的输入域,它可以简单地通过一个''

+0

请按照此链接http://stackoverflow.com/a/834197/2798643 –

+0

你没有尝试这个没有jQuery? AFAIK这与JavaScript或jQuery无关,但仅与HTML和表单有关。 – wau

回答

3

您遇到问题,因为namesubmit是压倒对于<form>form.submit()函数的引用,而不是submit_button.submit指按钮,而不是DOM submit()功能。

阅读this post了解更多信息,而且即使在ID为submit时也不起作用。

阅读here for this also

0

试试这个代码

$(".edit_a_leaver").submit((function(e) { 
    e.preventDefault(); 
}); 
0

这是 '有意'

当你有一个表单,您可以通过

<form id="form" action="url"> 
    <input type="text" id="inputId" name="textboxname"> 
</form> 

// Grabbing the input 
form.inputId; // that's the input, you can use it in JS 
选择形式的元素

但问题是这个冲突当id或名字是“行动”或“提交”,因为你会使用form.submit();

如果你仍想保留的ID“提交”,可以使用的形式原型,例如:

HTMLFormElement.prototype.submit.call(形成);

来源:https://www.joezimjs.com/javascript/dont-name-inputs-action-submit/

相关问题