我希望只有在文本字段的焦点之后才能进行验证
I want the validation to happen only after focus of text field
这是我的代码。我想使用javascript验证表单。我想在用户专注于填写表单后验证特定的表单元素。这种情况发生的方式是,只加载页面就会显示十字标记,这意味着在用户没有输入代码的情况下,特定的表单是无效的。注意:我已经使用Bootstrap的图标-"Tick"answers"X"。谢谢你的帮助。
<!DOCTYPE html>
<html>
<head>
<title> Form Elements </title>
<!-- Latest compiled and minified CSS OF BOOTSTRAP - BOOTSTRAP CDN-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<!--Script of Javascript-->
<script type="text/javascript">
ID = setTimeout("check_name();", 0);
ID = setTimeout("check_phone();", 0);
ID = setTimeout("check_address();", 0);
function check_name() {
if (document.form.name.value.length < 1) {
keycode = document.getElementById("name");
character = ' <i class="glyphicon glyphicon-remove"></i>';
keycode.innerHTML = character;
} else {
keycode = document.getElementById("name");
character = ' <i class="glyphicon glyphicon-ok"></i>';
keycode.innerHTML = character;
}
ID = setTimeout("check_name();", 500);
}
function check_phone() {
if (document.form.phone.value.length < 10) {
keycode = document.getElementById("phone");
character = ' <i class="glyphicon glyphicon-remove"></i>';
keycode.innerHTML = character;
} else {
keycode = document.getElementById("phone");
character = ' <i class="glyphicon glyphicon-ok"></i>';
keycode.innerHTML = character;
}
ID = setTimeout("check_phone();", 500);
}
function check_address() {
if (document.form.address.value.length < 1) {
keycode = document.getElementById("address");
character = ' <i class="glyphicon glyphicon-remove"></i>';
keycode.innerHTML = character;
} else {
keycode = document.getElementById("address");
character = ' <i class="glyphicon glyphicon-ok"></i>';
keycode.innerHTML = character;
}
ID = setTimeout("check_address();", 500);
}
</script>
<style>
.glyphicon {
font-size: 20px;
}
.glyphicon-remove {
color: red;
}
.glyphicon-ok {
color: green;
}
</style>
</head>
<body>
<div class="row" style="padding:20px;">
<form name="form">
<p>Name:</p>
<input type="text" onfocus="check_name();" name="name" /><span id="name"></span>
<br />
<p>Phone:</p>
<input type="text" onclick="check_phone();" name="phone" /><span id="phone"></span>
<br />
<p>Address:</p>
<input type="text" onclick="check_address();" name="address" /><span id="address"></span>
<br />
<button type="submit" onclick="test();">Submit</button>
</form>
</div>
</body>
</html>
尝试onchange而不是onclick:
<p>Name:</p><input type="text" onchange="check_name();"name="name"/><span id="name"></span><br />
<p>Phone:</p><input type="text" onchange="check_phone();" name="phone" /><span id="phone"></span><br />
<p>Address:</p><input type="text" onchange="check_address();" name="address" /><span id="address"></span><br />
然后删除所有超时。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在解决承诺之前和之后验证值
- 为什么不't浏览器在经过身份验证的XMLHttpRequest之后重用授权标头
- 如果字段在几行空行之后包含前几个字符,则验证描述字段长度
- jQuery:在验证错误之后,我的输入掩码函数不会'Don’不要在野外工作
- 在使用jquery验证电子邮件之后添加一个类
- 阻止在 jQuery 验证引擎之后提交
- .each() 在 .clone() 之后用于验证函数
- 有没有我可以听的事件发生在表单提交之后,并且在表单通过HTML5验证之后
- 如何验证允许在 @ 符号之前和之后使用特定数量的点的电子邮件
- 我希望只有在文本字段的焦点之后才能进行验证
- parsleui . adderror之后,Parsley.js的远程验证响应仍然验证为true
- Angular 2:在valueChanges之后更新FormControl验证器
- 在验证之后但在提交之前运行跟踪代码
- 如何在setCustomValidity("…)"之后清除,删除或重置HTML5表单验证状态
- 在第一个表单验证javascript之后移动到第二个表单
- 如何暂停表单提交,最后一次验证,在最后和之后释放/触发/继续提交