Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html Javascript提交按钮在第一次单击时不起作用_Javascript_Html - Fatal编程技术网

html Javascript提交按钮在第一次单击时不起作用

html Javascript提交按钮在第一次单击时不起作用,javascript,html,Javascript,Html,我创建了一个带有“是”或“否”问题的页面。如果您回答“是”并点击“提交”按钮,它将引导您输入.html;如果您点击“否”并点击“提交”按钮,它将引导您输入donoter.html 由于某些原因,一次单击“提交”按钮就不起作用。用户必须双击它才能工作。我找不到其他人问题的答案 函数检查(){ var c=0 var q1=document.quick.question1.value; 如果(q1=“是”){ document.getElementById(“myButton”).onclick=

我创建了一个带有“是”或“否”问题的页面。如果您回答“是”并点击“提交”按钮,它将引导您输入.html;如果您点击“否”并点击“提交”按钮,它将引导您输入donoter.html

由于某些原因,一次单击“提交”按钮就不起作用。用户必须双击它才能工作。我找不到其他人问题的答案

函数检查(){
var c=0
var q1=document.quick.question1.value;
如果(q1=“是”){
document.getElementById(“myButton”).onclick=function(){
window.location='enter.html';
};
}否则{
document.getElementById(“myButton”).onclick=function(){
window.location='donoter.html';
};
}
}

一,。这个问题的答案是什么:

A.是

B.否


因为第一次单击实际上并没有重定向用户。第一次单击会执行以下操作:

document.getElementById("myButton").onclick = function () {
    window.location = 'enter.html';
};
它附加了一个新的点击处理程序,它将(在下一次点击时)重定向用户

不附加单击处理程序,只需执行重定向:

function check(){
    var q1 = document.quiz.question1.value;
    if(q1 == "Yes") {
        window.location = 'enter.html';
    } else {
        window.location = 'donotenter.html';
    }
}

或者,您可以通过这种方式附加click处理程序,但将所有逻辑放在该处理程序中,并从按钮中删除
onclick
属性:

<input type="button" name="" value="Submit" id="myButton">

这样做的好处是将JavaScript与HTML分开。HTML只是显示的标记,并不表示要调用什么JavaScript逻辑,它成为JavaScript的工作,以HTML为目标并应用其逻辑。(这使得HTML更容易重用。)

在您的情况下,重定向仅在第二次单击后触发,因为您在第一次调用时设置了
检查
功能

<input type="button" name="" value="Submit" id="myButton" onclick="check()">
你可以用这个


测验
一,。这个问题的答案是什么:

是的

B.没有

函数检查(){ var c=0; var q1=document.quick.question1.value; 如果(q1==“是”){ window.location='enter.html'; }否则如果(q1==“”){ 警报('请先选择输入!'); }否则{ window.location='donoter.html'; } }
您的第一次单击调用您的函数,然后设置您甚至不需要的其他事件句柄。感谢您的帮助!
<input type="button" name="" value="Submit" id="myButton" onclick="check()">