JS输出消息打印在表单中的div标签上

时间:2018-05-08 15:08:08

标签: javascript html forms innerhtml

我认为,我正在努力解决一些非常简单的问题。 我有一个表单,当用户选择他们的答案时,我想在DIV标签内显示一条消息。

我的代码示例在这里:



    function check(){
 		//var display_answer = document.myform.answer.value;
    
    var q1 = document.myform.q1.value;
    var q2 = document.myform.q2.value;
    
    if(q1 == "a" && q2 == "a"){
  	document.getElementById("div").innerHTML= "Green!";
    }
    if(q1 == "a" && q2 == "b"){
    		document.getElementById("div").innerHTML = "Red!";
    }
    if(q1 == "b" && q2 == "a"){
    		document.getElementById("div").innerHTML = "Yellow!";
    }
    if(q1 == "b" && q2 == "b"){
    document.getElementById("div").innerHTML = "Blue!";
    }
}

    <!DOCTYPE html>
    <html>
    <head>
    <title>Food Quiz</title>
    </head>
    <body>
    <form name="myform">
    Question 1: Question...?
    <input type="radio" name="q1" value="a"> Answer A </br>
    <input type="radio" name="q1" value="b"> Answer B </br></br>
    
    
    Question 2: Question...?
    <input type="radio" name="q2" value="a"> Answer A </br>
    <input type="radio" name="q2" value="b"> Answer B </br></br>
    </br>
    </br>
    </br>
    </br>
    <input type="button" value="submit" onclick="check()">
    </br>
    </br>
    </form>
    
    <p>
    Results:
    </p>
    </br>
    <div style="background-color:lightblue" id="div" name="answer">
    </div>
    
    
    </body>
    </html>
&#13;
&#13;
&#13;

事实是,我没有得到任何结果。当用户选择2个给定答案的组合(每个问题一个)时,它获得颜色结果,打印在具有id = div的DIV标签上。

这里出了什么问题的想法?谢谢。

1 个答案:

答案 0 :(得分:1)

我稍微改变了你的代码片段,这很有效。基本上,我在表单中添加了string()。我将提交按钮类型更改为:h systemlist() :h string() 。这是HTML Forms的一个很好的资源。为防止浏览器操作,我更改了提交按钮method="post"的onclick操作。这是一个很好的资源:Browser Default Actions

我还将div消息的ID更改为type="submit"。您通常需要一个唯一的ID。对于JavaScript代码段,我只创建了一个变量来引用div元素并在if语句中使用该变量。

是的,onclick="check(); return false;"是你最好的朋友!

&#13;
&#13;
id="resultMessage"
&#13;
console.log()
&#13;
&#13;
&#13;