Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript的新特性。这个代码有什么问题?_Javascript_Html - Fatal编程技术网

Javascript的新特性。这个代码有什么问题?

Javascript的新特性。这个代码有什么问题?,javascript,html,Javascript,Html,我也是一个相对较新的javascript开发人员,无法让这段代码正常工作。我在谷歌上搜索过如何使用下拉菜单,但每当我尝试运行这段代码时,它似乎都不起作用。每当我设置form.value=“net”时,if语句都有效,那么为什么在比较form.value=“test”时它不起作用呢 你好 下一个 测试 var形式; 实际风险值; form=document.getElementById('inout'); form.addEventListener('change',test(),false)

我也是一个相对较新的javascript开发人员,无法让这段代码正常工作。我在谷歌上搜索过如何使用下拉菜单,但每当我尝试运行这段代码时,它似乎都不起作用。每当我设置form.value=“net”时,if语句都有效,那么为什么在比较form.value=“test”时它不起作用呢


你好

下一个 测试 var形式; 实际风险值; form=document.getElementById('inout'); form.addEventListener('change',test(),false); 功能测试() { 如果(form.value==“测试”) { window.location.href='index.html'; } } 身体{ 文本对齐:居中; }

编辑:谢谢各位,这真的很令人沮丧。

你们设置的听众不正确

form.addEventListener('change',test(),false)

注意
test
后面有
()
?这意味着您已经运行了该函数(该函数不返回任何内容)。这就是您的程序实际执行的功能:

form.addEventListener('change',未定义,false)

因此,每次更改下拉列表时,什么都不会发生。它需要如下所示:

form.addEventListener('change',test,false)


当表单更改时,函数
测试将运行。

您设置的侦听器不正确

form.addEventListener('change',test(),false)

注意
test
后面有
()
?这意味着您已经运行了该函数(该函数不返回任何内容)。这就是您的程序实际执行的功能:

form.addEventListener('change',未定义,false)

因此,每次更改下拉列表时,什么都不会发生。它需要如下所示:

form.addEventListener('change',test,false)

当表单更改时,函数
测试将运行。

更改此项

form.addEventListener('change', test (), false);
对此

form.addEventListener('change', test, false);
编写test()时,它会立即调用函数,而不是在发生更改事件时调用。

更改此项

form.addEventListener('change', test (), false);
对此

form.addEventListener('change', test, false);

编写test()时,它会立即调用函数,而不是在发生更改事件时调用。

的形式。addEventListener('change',test(),false)
您正在调用
test
,并将其返回值(
undefined
)作为回调传递给
addEventListener

需要一个函数作为其第二个参数。从语法上讲,这意味着删除代码中函数名后的括号:

form.addEventListener('change', test, false);
你可以把这句话理解为:

每当“更改”事件出现在
表单
引用的元素上时,调用
测试
引用的函数


form.addEventListener('change',test(),false)中
您正在调用
test
,并将其返回值(
undefined
)作为回调传递给
addEventListener

需要一个函数作为其第二个参数。从语法上讲,这意味着删除代码中函数名后的括号:

form.addEventListener('change', test, false);
你可以把这句话理解为:

每当“更改”事件出现在
表单
引用的元素上时,调用
测试
引用的函数


如果你有c语言背景。。将
test()
看作一个函数调用。。它会立即执行函数。。和
测试
作为函数指针。。它指向一个函数。。如果你有c语言背景,你需要的是测试。。将
test()
看作一个函数调用。。它会立即执行函数。。和
测试
作为函数指针。。它指向一个函数。。您需要的是
test
对该函数的引用,这样当事件发生时,它可以使用传递给它的引用调用该函数!对该函数的引用,因此当事件发生时,它可以使用传递给它的引用调用该函数!