javascript警报无法正确使用if语句
我想检查我选择的标记和输入值是否相同,但js中的警报即使相同也能工作。这是我的密码!谢谢你的支持 HTMLjavascript警报无法正确使用if语句,javascript,if-statement,alert,Javascript,If Statement,Alert,我想检查我选择的标记和输入值是否相同,但js中的警报即使相同也能工作。这是我的密码!谢谢你的支持 HTML <select id="mark"> <option value="o">o</option> <option value="x">x</option> </select> <input type="text" name="block%s" id="block" onchange="check()"&g
<select id="mark">
<option value="o">o</option>
<option value="x">x</option>
</select>
<input type="text" name="block%s" id="block" onchange="check()">
<input type="text" name="block%s" id="block" onchange="check(this)">
您需要将这些变量放入函数中,否则这些值是在开始时确定的,以后不会更改
函数检查(){
var mark=document.getElementById(“mark”).value;
var block=document.getElementById(“block”).value;
如果(块!=标记){
警惕(“你的标记错误”);
返回false;
}
否则{
返回true;
}
}
o
x
您的JavaScript代码应该是这样的:(函数后面声明的块var
)
var mark=document.getElementById(“mark”).value;
函数检查(){
var block=document.getElementById(“block”).value;
console.log(标记+'-'+块)
如果(块!=标记){
警惕(“你的标记错误”);
返回false;
}否则{
返回true;
}
}
首先创建函数check()
通过selectedIndex
或selectedValue
var e = document.getElementById("mark");
var strUser = e.options[e.selectedIndex].value;
然后比较
selectedValue的值
和输入
文本,并根据需要在警报中显示适当的消息功能检查应包括所有变量。在这里,试试这个:
function check(){
var mark=document.getElementById("mark").value;
var block=document.getElementById("block").value;
if(block != mark) {
alert ('Your mark is wrong');
return false;
}
else{
alert ('Your mark is right');
return true;
}
}
变量应该在函数内部 请尝试以下操作: HTML
<select id="mark">
<option value="o">o</option>
<option value="x">x</option>
</select>
<input type="text" name="block%s" id="block" onchange="check()">
<input type="text" name="block%s" id="block" onchange="check(this)">
当用户离开输入框时,还可以使用输入框的onblur
调用check()
最好保存对DOM元素的引用一次,并比较函数中的值(
mark.value
/block.value
),而不是每次都查询由@theAlexandrian编辑并批准的DOM。谢谢
function check(inputBox) {
var markBox = document.getElementById("mark");
var mark = markBox[markBox.selectedIndex].value;
var block = inputBox.value;
if (block != mark) {
alert ('Your mark is wrong');
return false;
} else {
return true;
}
}