2012-07-22 148 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();   
}); 
相關問題