2017-05-05 61 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>

相关问题