我尝试用按钮检查我的文本框值是否等于我定义的特定值。找不到解决方法。
这是我的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>
答案 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.");
}