代码不打印到屏幕

时间:2017-04-17 13:56:01

标签: javascript html css

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>

2 个答案:

答案 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)你仍然需要自己清理一些变量。

希望这有助于您前进。