2012-07-22 149 views
0

我是新来的jQuery/JavaScript的,所以也许我在这里采取了完全错误的道路。如何防止按钮提交?

我有一个按钮,我的表单中,它的工作只是做一些DOM操作。当然不会提交表格。

<button id="add_deals_button" class="btn btn-success"></button> 

在我的js文件我写了下面的:

$(document).ready(function() { 
    $("#add_deals_button").click(add_deals) 
}); 

当我按一下按钮,它的DOM操作,而且它发送一个POST,因此提交表单。如何防止按钮提交任何内容?

UPDATE:

function add_deals(e){ 
    $('#hidden_deals').clone().attr({'class':'none'}).appendTo('#deal_status tbody') 

} 

感谢,

+0

拉姆森,我不认为这是重复的,因为我试图阻止完全提交。你的建议重复,不这样做。请在问题结束前删除此内容。 – Houman 2012-07-22 10:19:07

回答

5

最简单的方法就是把它添加到button标签:

type="button" 

如:

<button id="add_deals_button" type="button" class="btn btn-success"></button> 

默认情况下,type of button elements is "submit",提交表单。但是如果type"button",它只是一个按钮,而不是表单提交按钮。

+0

这工作。它是一个干净的解决方案。谢谢 – Houman 2012-07-22 10:23:54

1

根据这一点,你已经绑定到点击你想实现你可以返回假的东西;

$("#add_deals_button").click(function(e) { 
     // do your actions 
     add_deals(); 
     return false; 
}); 

这将在jQuery的一样做

$("#add_deals_button").click(function(e) { 
     // do your actions 
     e.preventDefault(); 
    e.stopPropagation();   
}); 
相关问题