我有这个简单的代码,显示图像和单词,你必须完成该字段。如果你正确地写了这个词,就会出现一个恭喜弹出窗口。
我能够弄清楚如何随机化array
中的项目以显示随机图像。
现在,我想检查每个keyup
是否与该随机单词匹配。
我的IF
语句似乎有问题,因为如果删除它,弹出窗口就能完美运行。
错误:
未捕获的typeerror undefined不是函数
代码:
<html>
<head>
<title>AutistApp</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="js/jquery.min.js"></script>
</head>
<body>
<div id="container">
<div class="eval">CORRECTO</div>
<div class="siguiente"><a href=".">¡OTRA VEZ!</a></div>
<div class="dibujo"><img id="dibujito" src="img/apple.png" /></div>
<div class="palabra">MANZANA</div>
<div class="respuesta"><input type="text" id="resp" name="resp" value=""/>
</div>
</div>
<script type="text/javascript">
/***** RANDOM VALUES *****/
var messages = ["manzana", "pera", "banana"],
message = messages[Math.floor(Math.random() * messages.length)];
$('.palabra').text(message);
$('#dibujito').attr('src','img/'+message+'.png');
/***** KEYDOWN CHECK *****/
$(document).ready(function(){
$('#resp').keyup(function(){
if ($("#resp").value() == message) {
$('.eval').slideDown();
$('.eval').delay(3000).fadeOut();
$('.siguiente').delay(3000).slideDown();
}
});
});
</script>
</body>
</html>
答案 0 :(得分:2)
您需要使用 .val() 而不是.value()
来获取input
元素的值,以便您可以这样做:
if ($("#resp").val() == message) {
而不是:
if ($("#resp").value() == message) {
您还需要将所有代码包装在DOM就绪处理程序中:
$(document).ready(function () {
var messages = ["manzana", "pera", "banana"],
message = messages[Math.floor(Math.random() * messages.length)];
$('.palabra').text(message);
$('#dibujito').attr('src', 'img/' + message + '.png');
$('#resp').keyup(function () {
if ($("#resp").val() == message) {
$('.eval').slideDown();
$('.eval').delay(3000).fadeOut();
$('.siguiente').delay(3000).slideDown();
}
});
});
答案 1 :(得分:2)
您需要使用的人
$("#resp").val()
in if condition。