2012-10-12 69 views
1

我知道使用$('form').submit()在提交按钮以保留名称“submit”命名时不起作用。JQuery:如何提交具有名称为“submit”的提交按钮的表单

令人讨厌的是我无法更改我想提交的表单的html。

我认为一种解决方法是在使用$('form').submit()之前删除输入按钮,但这似乎不起作用。

$('input:last').remove(); 
$('form').submit(); 

有没有人知道这个问题的另一个解决方案?

+0

不是表格有ID或类或类似的东西? – Mathlight

+0

或尝试'$('form [0]')。submit();'并且该数字必须对应于从正文开始计数的表格的编号 – Mathlight

+0

表格没有id或类。但用我的代码选择元素确实有效。手动删除HTML代码中的提交按钮是我的问题的解决方案,但是当我尝试使用JavaScript执行此操作时,问题仍然存在。 –

回答

3

你有两个选择:

1.创建一个formElement并使用其.submit方法。

document.createElement('form').submit.apply($('form')[0]); 

2.使用.submit方法形成的HTMLFormElement

HTMLFormElement.prototype.submit.apply($('form')[0]); 

其原因在this answer陈述的原型。

+0

谢谢,这个作品! –

0

这是我使用过一次的示例代码。它也应该适合你。

<form method="post" action="" id="myform"> 
<input type="text" value="kdfhdjskfsdhf" name="test" /> 
<input type="button" name="submit" value="submit" onclick="submit_this_form()" /> 
</form> 

function submit_this_form(){ 
    jQuery($('input[name="submit"]')).attr('name', 'new_submit'); 
    jQuery('#myform').submit(); 
} 
相关问题