UPDATE 好的,我看到我不应该使用“console.log”将这个打印到屏幕上的方法是什么?
我是编码的新手,只需要了解为什么console.log不会将开关案例的结果打印到屏幕上。这是代码:
<form id="form1">
<p>enter name: <input name="cpn" type="text" size="20"></form>
<button onclick="outputname()"> Submit</button></p>
<script>
function outputname(){
var x,name,a,b,answer,y;
x=document.getElementById("form1").innerHTML;
y=x.elements["cpn"].value;
switch(cpn){
case "LIG007":
text = "LIG007: Located in the 737 Avionics Cart Drawer 1. Keyword LIGHT";
break;
default:
text = "CPN NOT FOUND, PLEASE MAKE SURE IT WAS TYPED CORRECTLY."
}
console.log(y)
}
</script>
答案 0 :(得分:1)
这是一个修复:
请注意,您使用了switch(cpn)
并且没有定义cpn
。我建议使用更好的变量名'x'和'y'。
另外,您尝试在console.log中调用y
变量,而不是文本。
console.log
输出到浏览器日志,而不是屏幕。
function outputname() {
var x, name, a, b, answer, y;
x = document.getElementById("form1");
y = x.elements["cpn"].value;
switch (y) {
case "LIG007":
text = "LIG007: Located in the 737 Avionics Cart Drawer 1. Keyword LIGHT";
break;
default:
text = "CPN NOT FOUND, PLEASE MAKE SURE IT WAS TYPED CORRECTLY."
}
console.log(text)
}
<form id="form1">
<p>enter name: <input name="cpn" type="text" size="20"></form>
<button onclick="outputname()"> Submit</button></p>
答案 1 :(得分:0)
function outputname() {
var x, name, a, b, answer, cpn, text;
x = document.getElementById("form1").innerHTML;
cpn = document.getElementById('txtBox').value;
switch (cpn) {
case "LIG007":
text = "LIG007: Located in the 737 Avionics Cart Drawer 1. Keyword LIGHT";
break;
default:
text = "CPN NOT FOUND, PLEASE MAKE SURE IT WAS TYPED CORRECTLY."
}
document.getElementById('output').innerHTML = text;
}
<form id="form1">
<p>enter name: <input name="cpn" id="txtBox" type="text" size="20" /></p>
</form>
<button onclick="outputname()"> Submit</button>
<div id="output"></div>
希望现在我正确地理解你想要在浏览器屏幕上输出,因此上面的代码。
注意一些事情:
1)您可以为输入字段指定一个id并直接从中读取。
2)创建一个div,用于在浏览器中包含输出(根据您的要求在屏幕上显示)。
3)将文本声明为var以避免全局。这是JS漏洞的主要来源,其中JS默默地创建一个全局变量(在非严格模式下)。
4)你仍然需要自己清理一些变量。
希望这有助于您前进。