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