我的代碼的一部分有問題。我嘗試使用JavaScript創建「DIV」和「P」標記,但它只在將代碼放在函數外部時才起作用(函數名爲「fo」)。當你點擊按鈕時,會出現一個對話框,如果你點擊取消,appendChild方法應該在「body」中放入「div」和「p」標籤。appendChild在函數外部工作,但不在
我應該補充說,p標籤中的文字可以簡短地在屏幕上看到,並突然消失。我的瀏覽器是谷歌瀏覽器。
<html>
<body>
</body>
<script>
function give(){
form = document.createElement("FORM");
input = document.createElement("INPUT");
input.setAttribute("type", "submit");
input.setAttribute("value", "button");
form.setAttribute("id", "abc");
form.setAttribute("onsubmit", "fo()");
textarea = document.createElement("TEXTAREA");
textarea.setAttribute("id", "txt");
form.appendChild(input);
form.appendChild(textarea);
document.body.appendChild(form);
document.getElementById("abc").method = "post";
}
give();
function fo(){
a = document.getElementById("txt").value;
cfm = confirm("Are you sure you want changes");
if (cfm == false) {
div = document.createElement("DIV");
p = document.createElement("P");
ptxt = document.createTextNode("test");
p.setAttribute("id", "centr");
p.appendChild(ptxt);
div.appendChild(p);
document.body.appendChild(div);
}
}
/*When this part of code is outside function fo() , appendChild works correctly
div = document.createElement("DIV");
p = document.createElement("P");
ptxt = document.createTextNode("Outside the function it works");
p.setAttribute("id", "centr");
p.appendChild(ptxt);
div.appendChild(p);
document.body.appendChild(div);
*/
</script>
</html>
在函數中使用它們之前是否在其他地方聲明瞭變量(a,cfm,div,p osv)? –
不幸的是,沒有。 – s0lw
你可以發佈你的電話和一些你的HTML嗎? –