javascript - JavaScript 新手。这段代码有什么问题?

标签 javascript html

我对 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 by test.

关于javascript - JavaScript 新手。这段代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42049605/

相关文章:

javascript - 给定一个数组,计算总和为 60 的倍数的对

javascript - 如何使用本地 JSON 数据加载 TreePanel?

html - 全 Angular 背景图片限制高度

html - 为什么不使用多个 css 文件?

javascript - 无法理解这里每种方法是如何工作的

javascript - 更改变量值以在另一个变量中使用它

javascript - 不推荐使用错误过滤器如何解决 vue.js 3 中的此错误

html - 图像复制自己

javascript - 如何在使用 PhoneGap/Cordova 构建的 Android 应用程序中单击按钮时播放音频?

javascript - JQuery Sortable : Making sortable elements non-draggable, 还可以排序