2016-12-01 57 views
1

我想在表單提交後顯示消息並從頁面中刪除表單。removeChild()不起作用

腳本的第一部分正在工作,但第二部分(我嘗試刪除表單的部分)沒有。

有什麼建議嗎?

<script> 
$(document).ready(function() { 
    if(window.location.href.indexOf("footer") > -1) { 
     document.getElementById("thanksForMessage").innerHTML = "<h2>Thanks for the message. I will contact you shortly.</h2>"; 
     var formDiv = document.getElementById("formwell"); 
     var childForm = document.getElementsByTagName("form"); 
     formDiv.removeChild(childForm); 
    } 
}); 

</script> 
+0

你爲什麼要混合使用jQuery和純DOM?爲什麼不用jQuery來做整件事? – Scimonster

+0

我對DOM更熟悉,試圖使用jQuery,但它沒有工作... –

+0

@Scimonster btw,你會如何使用jQuery來編寫它?你會在你的答案中包含腳本的替代版本嗎?謝謝! –

回答

2
var childForm = document.getElementsByTagName("form"); 

這將返回一個節點列表(如陣列),而不是一個單一的元件。 removeChild需要單個元素。你可以通過只是第一個:

formDiv.removeChild(childForm[0]); 
0

嘗試用這樣的代碼

$(document).ready(function() { 
if(window.location.href.indexOf("footer") > -1) { 
    $("#thanksForMessage").html("<h2>Thanks for the message. I will contact you shortly.</h2>"); 
    var formDiv = $("#formwell"); 
    var childForm = "form"; 
    formDiv.remove(childForm); 
} 

});

+0

這不起作用 –

+0

'#hanksForMessage'中缺少't'。這是問題,@AlexNowak? – Scimonster

+0

是的。再試一次 –