字段值变化的JS触发条件

时间:2017-10-31 20:04:21

标签: javascript jquery html html5

我有以下代码:

<script>
document.getElementsByName("region").forEach(function(node) {
   node.addEventListener("keyup", myFunction);
});

function myFunction() {
    if (document.getElementById("region") == "Ohio") {
        window.location = 'page3.html';
    }
    else {
        window.alert("Try again!");
    }  
    return false;
}
</script>

对于每个字符,我在名称为&#34; region&#34;的字段中键入,警告框显示(因此JS正在触发)。输入字段的id也设置为&#34; region&#34;。但是当我插入值&#34;俄亥俄州&#34;时,警报框仍然会启动。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

从这样的元素中获取值。

document.getElementsByName("region").forEach(function(node) {
   node.addEventListener("keyup", myFunction);
});

function myFunction() {
    console.log(document.getElementById("region").value);
    if (document.getElementById("region").value == "Ohio") {
        window.location = 'page3.html';
    }
    else {
        window.alert("Try again!");
    }  
    return false;
}
<input id="region" name="region"/>

答案 1 :(得分:0)

我同意RenzoCC的回答,我只是在if语句中添加toUpperCase或toLowerCase函数以满足用户案例输入。

    if (document.getElementById("region").value.toLowerCase() == "ohio") {