2013-03-22 86 views
0

我對Jquery很陌生,並試圖理解appendTo()。試圖瞭解jquery appendTO

問題是,當提交表單時沒有任何內容被添加到div。只要沒有選擇任何值,代碼腳本就會正常工作,這意味着警報被觸發。

$('#blankett_form').submit(function() { 
    var id = $(this).find('.update:last').val(); 
    if (id == '') { 
     alert('Välj land och region.'); 
    } else { 
     var table = '<table class="table table-hover table-bordered"><thead><tr> <td>blanketter.</td><td>datum tillagt.</td></tr></thead></table>' 
     $(table).appendTo('#formsubmit'); 
    } 
}); 

表應該附加到下面的div。

<div id="#formsubmit"> 

</div> 
+5

你提到的提交表單。是否有可能表單正在提交併且頁面正在重新加載? – j08691 2013-03-22 15:39:51

+0

這是可能的...該網頁是建立在PHP中,我沒有想到這一點。必須研究它。謝謝。 – StenW 2013-03-22 15:42:50

+1

把返回false;在腳本結束之前。提交函數是搞砸了,並且擺脫了實際id名稱中的#號。 – 2013-03-22 15:44:29

回答

1

從DIV ID <div id="#formsubmit">

<div id="formsubmit"> 

</div> 

FIDDLE

刪除#或者你有逃避#

$(table).appendTo('#\\#formsubmit'); 

FIDDLE

正如其他人提到,如果表單正在提交,那麼頁面可能會刷新,你不會看到任何改變。

您可以返回false或使用event.PreventDefault處理程序內停止默認提交操作

$('#blankett_form').submit(function(e) { // <-- event argument passed in 
    e.preventDefault(); // prevent default action 
    // your code here 
} 

$('#blankett_form').submit(function() {  
    // your code here 
    return false; 
} 
+0

他將需要在提交以及此處返回false。 – 2013-03-22 15:44:56

+0

正如你所提到的那樣,我產生了一個新問題。每次按下提交按鈕時,都會附加「var」表。有沒有辦法阻止這種情況發生? – StenW 2013-03-22 15:57:22

+1

@StenW是的,你可以做'$('#formsubmit').html(table)'..或'$('#formsubmit')。empty()。append(table)' – 2013-03-22 16:04:25