2017-03-01 210 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());    
}