2017-05-05 63 views
0

全部。未捕獲的ReferenceError:submitAllForms未定義

請看下面的代碼,它應該,據我所知,搶編號A1,A2 & A3,並與ID爲「編譯」的新文本框扔:

的Javascript

<script type="text/javascript"> 
function submitAllForms() {   
var answer1 = (document.getElementById("a1").value); 
var answer2 = (document.getElementById("a2").value); 
var answer3 = (document.getElementById("a3").value);   
document.getElementById("compiler").innerHTML = ("<input type="text" id="compiled">" + "Question1? " + answer1 + " Question2? " + answer2 + " Question3? " + answer3 + "\nEnd" + "</input>"); 
} 
</script> 

HTML

<body> 
<form id="q1" method="post"> 
<p>Question1?</p> 
<input type="text" placeholder="answer" id="a1" /> 
</form> 
<form id="q2" method="post"> 
<p>Question2?</p> 
<input type="text" placeholder="answer" id="a2" /> 
</form> 
<form id="q3" method="post"> 
<p>Question3?</p> 
<input type="text" placeholder="answer" id="a3" /> 
</form> 
<input type="button" value="Submit" onclick="submitAllForms()" /> 
<form id="compiler" method="post"> 
</form> 
</body> 

釷Ë問題我有是在命中提交按鈕,控制檯吐出的錯誤:

未捕獲的ReferenceError:submitAllForms沒有定義

這對我來說沒有任何意義。我看不出我出錯的地方。
任何幫助表示讚賞!提前致謝!

+0

它適合我。你的劇本放在哪裏?它與代碼的其餘部分在同一個HTML文件中嗎? – Dana

+0

它在同一個文件的部分,是的。 這是錯誤的嗎? – Doofitator

回答

0

您在JavaScript已經語法錯誤。你需要如下刪除"(什麼是壞主意),或使用\逃避它,:

function submitAllForms() {   
var answer1 = (document.getElementById("a1").value); 
var answer2 = (document.getElementById("a2").value); 
var answer3 = (document.getElementById("a3").value);   
document.getElementById("compiler").innerHTML = ("<input type=\"text\" id=\"compiled\">" + "Question1? " + answer1 + " Question2? " + answer2 + " Question3? " + answer3 + "\nEnd" + "</input>"); 
} 

它的使用與語法高亮編輯好主意。在快速複製粘貼後,我看到應該是字符串的代碼部分,但它們不是。

轉義特殊字符(see more in w3schools)可讓您在字符串中使用引號等,就像其中的普通字符一樣。

+0

謝謝。這一定是問題:) – Doofitator

0

似乎可以正常工作。整理了一下,以刪除字符串連接的錯誤,但函數被編寫的代碼調用。

function submitAllForms() {   
 
var answer1 = document.getElementById("a1").value; 
 
var answer2 = document.getElementById("a2").value; 
 
var answer3 = document.getElementById("a3").value; 
 

 
document.getElementById("compiler").innerHTML = "<input type=text id=compiled>Question1? " + answer1 + " Question2? " + answer2 + " Question3? " + answer3 + "\nEnd</input>"; 
 
}
<body> 
 
<form id="q1" method="post"> 
 
<p>Question1?</p> 
 
<input type="text" placeholder="answer" id="a1" /> 
 
</form> 
 
<form id="q2" method="post"> 
 
<p>Question2?</p> 
 
<input type="text" placeholder="answer" id="a2" /> 
 
</form> 
 
<form id="q3" method="post"> 
 
<p>Question3?</p> 
 
<input type="text" placeholder="answer" id="a3" /> 
 
</form> 
 
<input type="button" value="Submit" onclick="submitAllForms()" /> 
 
<form id="compiler" method="post"> 
 
</form> 
 
</body>

相關問題