我想要两个函数检查每个表单输入,一个用于onchange(),另一个用于onkeypress();我的理由是在使用onchange()或onblur()离开输入字段时显示输入是否有效,并且我还想检查输入字段是否为空,以删除指示不良的消息输入是使用onkeypress()输入的,这样它就可以在不离开该字段的情况下进行更新(如果用户要删除他们对警告消息的回应)。Javascript表单验证
它只是不按我想要的方式工作,所以我想知道是否有明显的错误。
我的代码如下所示:
<form action="database.php" method = post>
Username
<input type='text' id='un' onchange="checkname()" onkeypress="checkempty(id)" />
<div id="name"></div><br>
.....
</form>
和JavaScript:
<script type="text/javascript">
function checkname() {
var name = document.getElementById("un").value;
var pattern = /^[A-Z][A-Za-z0-9]{3,19}$/;
if (name.search(pattern) == -1) {
document.getElementById("name").innerHTML = "wrong";
}
else {
document.getElementById("name").innerHTML = "right!";
}
}
function checkempty(id) {
var temp = document.getElementById(id).value;
if (!temp) {
document.getElementById("name").innerHTML = '';
}
}
</script>
工作'那根本不是工作,我intended'的方式 - 你能解释一下? –
那么当我完全删除输入字段时,div消息不会改变,理论上应该是因为它应该检查每个击键,对吗? – Sam