我想检查文本框值是否等于我的特定值

时间:2018-07-17 13:48:17

标签: javascript html

我尝试用按钮检查我的文本框值是否等于我定义的特定值。找不到解决方法。

这是我的js:

<script>  
    function Checked(){
        var text = document.getElementsByName( "Phone" );
        if(text == "1234567890") {
            alert("Congratulation");
        }
        else{
            alert("Wrong Phone");
        }
    }
</script>

这是我的html:

<!doctype html>
    <html>
        <head>
            <meta charset="ISO-8859-7">
            <title>Main Page</title>
    </head>
    <body>
        Password:
        <input type="text" name="Phone" pattern="1234567890"">
        <i>Press here:</i>
        <button onclick="Checked()">Check me
        </button>
    </body>
</html>

3 个答案:

答案 0 :(得分:0)

document.getElementsByName函数返回元素的集合。您必须选择其中一个(在您的情况下,可能是第一个),然后必须访问其value属性:

var text = document.getElementsByName("Phone")[0].value;

答案 1 :(得分:0)

使用.value在文本框中获取文本并进行比较:

var text = document.getElementsByName("Phone")[0].value;

答案 2 :(得分:0)

首先,document.getElementsByName()将返回一个数组,因此将text与字符串进行比较将自动失败。如果您只想查找一个元素,请给它一个ID,然后通过document.getElementById进行查找。此外,您需要检索该元素的value,因为这将返回一个对象(同样,不是字符串):

JS:

var text = document.getElementById("phoneNumber").value;

HTML:

<input id="phoneNumber" type="text" name="Phone" pattern="1234567890">

当然,明智的做法是谨慎行事并检查无效性:

var text = document.getElementById("phoneNumber");
if(text) {
    var phoneNumber = text.value;
} else {
    alert("No phone number.");
}