2015-11-06 37 views
1

我正嘗試構建一個克隆插件,並使用它們在W3C上使用的簡單示例開始。起初,當我嘗試它時,我會看到頁面上的數據閃爍並消失。我在控制檯裏看到了什麼錯,我在JS小提琴中玩過它,並得到一個錯誤,告訴我使用「post」,所以我在表單標籤中添加了一個post方法,並且仍然得到相同的結果。當html5表單標記存在時,JQuery .clone()不起作用

但是,當我拿走表單標籤時,克隆工作。有人明白爲什麼會發生這種情況嗎?

這裏的HTML

<body> 
    <fieldset id="question01"> 
     <input type="text" id="ques_01_text" placeholder="text01" name="ques_01" /> 
     <input type="text" id="ques_02_text" placeholder="text02" name="ques_02" /> 
     <input type="text" id="ques_03_text" placeholder="text03" name="ques_03" /> 
    </fieldset> 

    <button>add</button> 
</body> 

這裏是Jquery的

$(document).ready(function() { 
    $("button").click(function() { 
     $("#question01").clone().appendTo("body"); 
    }); 
}); 
+0

我猜,當按鈕被點擊時,表單被提交。所以,它似乎並沒有工作 – Tushar

+0

嗨,親愛的它工作正常,請看這裏http://jsfiddle.net/gxtm6sw4/ – user00000341

回答

0

,當你有一個形式的按鈕,它作爲默認情況下submit按鈕。也就是說,當你有這樣的:

<button>add</button> 

它實際上被解釋爲這樣:

<button type='submit'>add</button> 

這裏看到更多的信息:what's the standard behavior when <button> tag click? will it submit the form?

所以,當你點擊它,不管你的點擊事件,它仍然提交你不想要的表單。這就解釋了爲什麼當你沒有表格的時候它會起作用;沒有任何要提交的內容,所以提交行爲是惰性的。爲了使按鈕提交,你可以改變它的類型button

<button type='button'>add</button> 

然後當它是一個形式裏面,它不會自動當你點擊提交。

0

您的表單正在提交。如果你不想讓你表單提交指定的按鈕,只是一個「按鈕」,而不是「提交按鈕」 ......像這樣:

<button type="button">Add</button> 

不是

<button type="submit">Add</button> 
0

嘗試這個:

$($('#question01').get(0).cloneNode(true)).appendTo('body')