【发布时间】:2014-04-07 21:13:15
【问题描述】:
我想验证用户在输入字段中对现有值的回答。我不知道我是否走对了,但我想让代码尽可能简单。
这个想法是检查用户输入是否匹配第一个或第二个世界,如果是,则文本变为“绿色”输入的单词与它变为“红色”和粗体的任何世界都不匹配。到目前为止,它所做的只是将输入的任何文本变为粗体和红色,但只有(!)如果我删除 else 语句......
感谢任何帮助!
<div id="quiz">
<p id="firstAnswer" value="Tiistai">Tiistai</p>
<p id="secondAnswer" value="Kedd">Kedd</p>
<input type="text" name="userText" id="userAnswer" value="" placeholder="...">
<br/><br/>
<input type="button" name="Busca" id="Busca" value="Check" onClick="ver()"; />
</div>
<script>
var answer1 = document.getElementById('firstAnswer');
var answer2 = document.getElementById('secondAnswer');
var answer3 = document.getElementById('userAnswer');
function ver(){
if (answer1 != answer3 || answer2 != answer3){
var element=document.getElementById("userAnswer");
document.getElementById("userAnswer").style.fontWeight="bold";
document.getElementById("userAnswer").style.color='red';
};
else {
document.getElementById("userAnswer").style.fontWeight="bold";
document.getElementById("userAnswer").style.color='green';
};
};
</script>
【问题讨论】:
-
answer1、answer2和answer3指的是 DOM 元素(这是document.getElementById返回的内容)。您需要使用.value获取它们的值。然后您正在比较输入的值 -
感谢回复,不过加.value也没用,结果还是一样。
-
抱歉,我没有完整地查看 HTML。为什么要在
<p>元素上设置value?他们没有value属性 -
您在
if () {}之后有一个错误的;。这使得if-else语句无效。在else {}和function ver(){}之后也有它们,但它们是无害的。 -
谢谢!更正了它们,但它仍然只是将文本变为红色:/
标签: javascript string validation if-statement input