ajaxForm插件在任何<button>点击

时间:2016-04-22 09:04:32

标签: javascript jquery ajax ajaxform

看看这个

http://jsbin.com/goyokir/edit?html,output

$(document).ready(function() { 
    $('#myForm').ajaxForm(function() { 
        alert("Form was submitted"); 
    }); 

  $('button').click(function(e){
    e.preventDefault(); //if removed, it acts as submit button
    $('body').append('regular clicked!<br>');
  });
}); 

我的问题是我的表单中有一些<button>,当点击它们时,出于某些奇怪的原因,它们会充当提交按钮。我可以使用preventDefault来解决这个问题,但另一个问题是,当您的关注输入并按Enter 时,它会触发它找到的第一个<button>,而不是{{1 }}

我试着查看plugin's source并修复它,但它超出了我的范围。 <input type='submit'>对我来说似乎没问题。

有什么想法吗?

3 个答案:

答案 0 :(得分:5)

你应该使用

<button type="button"></button>. 

演示&#39;这里:http://jsbin.com/xabuzukehe/1/edit?html,output

答案 1 :(得分:2)

将按钮更改为键入按钮,默认为类型提交

<button type="button">Regular &lt;Button&gt; 1</button>

答案 2 :(得分:2)

默认情况下,表单中的每个button都会充当提交按钮

使用type="button"阻止button充当表单提交按钮。

<button type="button">Regular &lt;Button&gt; 1</button><br>
<button type="button">Regular &lt;Button&gt; 2</button><br>
<input type="submit" value="Input Submit button" />