这里我写了一些用于在html和javascript
中对表单进行验证的内容<!DOCTYPE html>
<html>
<body>
<form name="registration">
<input style="font-size:16px;" type="text" name="Name" placeholder="Full Name" onchange="checkName()" required />
</form>
<script>
function checkName()
{
var uname=document.registration.Name.value;
var letters = /^[A-Za-z]+$/;
if(uname.value.match(letters))
{
alert('fg');
}
else
{
alert('Username must have alphabet characters only');
//uname.focus();
}
}
</script>
</body>
</html>
请说明它无法正常工作的原因?
答案 0 :(得分:1)
问题是你试图获得价值属性TWICE。像这样:
var uname=document.registration.Name.value;
if(uname.value.match(letters))
您的uname变量已包含该值,因此您无需再次获取该值。将您的if语句更改为此...
if (uname.match(letters))
它运作得很好:)。
答案 1 :(得分:0)
将onchange
与input type = "text"
一起使用非常罕见
onchange
事件通常仅在您离开(blur
)控件后才会发生。
onchange
主要与select
元素的更改相关联。
对于您的情况,最好还使用keydown, keyup
和keypress
事件。
HTML
<input style="font-size:16px;" type="text" name="Name" placeholder="Full Name" onkeyup="checkName()" required />