我对 javascript 也比较陌生,无法让这段代码工作。我已经用谷歌搜索了如何使用向下菜单,但是每当我尝试运行此代码时,它似乎都不起作用。每当我设置 form.value = "net"时,if 语句都会起作用,那么为什么在比较 form.value = "test"时它不起作用?
<!DOCTYPE html>
<html>
<head>
<title> Hello</title>
</head>
<body>
<form>
<input type="text" value="Name here" id="testing" />
</form>
<br/>
<select id="inout">
<option value="net" selected="selected">next</option>
<option value="test">test</option>
</select>
</body>
<script type="text/javascript">
var form;
var actual;
form = document.getElementById('inout');
form.addEventListener('change', test (), false);
function test()
{
if(form.value == "test")
{
window.location.href = 'index.html';
}
}
</script>
<style type="text/css">
body{
text-align: center;
}
</style>
</html>
编辑:谢谢大家,这真的很令人沮丧。
最佳答案
在 form.addEventListener('change', test (), false);
中,您正在调用 test
并传递其返回值(undefined
) 作为 addEventListener
的回调。
addEventListener需要一个函数作为其第二个参数。从语法上讲,这意味着删除代码中函数名称后面的括号:
form.addEventListener('change', test, false);
你可以将这句话理解为:
Whenever a 'change' event bubbles up to the element referenced by
form
, call the function referenced bytest
.
关于javascript - JavaScript 新手。这段代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42049605/