2017-03-01 294 views
0

我有3個按鈕,在從上點擊按鈕時提交表單

<button type="button" name="N" id="N" value="N" class="btn">Add New Doc </button> 
<button type="submit" name="submitButton" id="s1" value="AddMore" class="btn btn-success">Add More</button> 
<button type="submit" name="submitButton" id="s2" value="SaveandSubmit" class="btn btn-success">Save and Submit</button> 

兩個是提交表單,一個是文檔添加如下

enter image description here

「添加新的文檔「是正常的按鈕,當點擊將創建一個新的行附加文件jQuery的,如下所示

$(document).ready(function() { 
    $("#N").click(function() { 
     var index = (new Date()).getTime(); 
     var clone = $('#Newdoc').clone(); 
     clone.html($(clone).html().replace(/\[#\]/g, '[' + index + ']')); 
     clone.html($(clone).html().replace(/"%"/g, '"' + index + '"')); 
     var html = clone.html(); 
     $("#doc").append(clone.html()); 
    }); 

但是,當點擊這個按鈕時,表單中會添加一個新行,同時表單將要提交。


編輯

出於測試目的,我改變了所有按鈕類型爲「按鈕」,那麼也可以點擊任何按鈕提交表單

+0

那麼什麼是你的問題? –

+0

@SeanKwon點擊一個類型=「按鈕」不應該提交表格.. – Sachu

+0

你可以請把完整的HTML頁面? –

回答

-1

使用event.preventDefault(); ,而不是這樣的:

$("#N").click(function() { 
       var index = (new Date()).getTime(); 

用途:

$("#N").click(function (event) { 
     event.preventDefault(); 
var index = (new Date()).getTime(); 
+1

有問題的按鈕沒有默認的表單提交行爲從我可以看到。這將如何解決這個問題? – Inkdot

+0

same..no change..its submitting – Sachu

+0

然後我想你的HTML或JS中有一些其他代碼會導致這種行爲,請用相關代碼更新你的答案。謝謝 –

0

你可以嘗試在你的按鈕中附加方法並返回false。

HTML:

<button type="button" name="N" id="N" value="N" class="btn" onclick="addNewDoc();return false;">Add New Doc </button> 

JS:

function addNewDoc(){ 
     var index = (new Date()).getTime(); 
     var clone = $('#Newdoc').clone(); 
     clone.html($(clone).html().replace(/\[#\]/g, '[' + index + ']')); 
     clone.html($(clone).html().replace(/"%"/g, '"' + index + '"')); 
     var html = clone.html(); 
     $("#doc").append(clone.html());    
}