2013-03-22 26 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