使用setCustomValidity提示表单不能为空的问题
最近开始学习HTML,学到setCustomValidity,根据书上的,写了一个例子,代码如下:
<!DOCTYPE html>
<html>
<head>
<title>欢迎来到我的空间</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="http://www.baidu.com" method="get">
<label for="userId">用户名:</label><input id="userId" type="email" name="userId" placeholder="邮箱/用户名" autocomplete="off" /></br></br>
<label>密 码:<input id="passwd" name="passwd" type="password" autofocus placeholder="密码"/></label><br/><br/>
<input id="ok" name="ok" type="submit" value="提交" onclick="return check();"/>
</form>
<script type="text/javascript">
var check = function()
{
return commonCheck("userId" , "邮件地址" , "字段必须符合电子邮件的格式!");
}
var commonCheck = function(field , fieldName , tip)
{
var targetEle = document.getElementById(field);
// 如果该字段的值为空
if (targetEle.value == "")
{
//alert(fieldName + "字段必须填写!");
targetEle.setCustomValidity(fileName+tip);
return false;
}
// 调用checkValidity()方法执行输入校验
else if(!targetEle.checkValidity())
{
targetEle.setCustomValidity(fileName+tip);
//alert(fieldName + tip);
return false;
}
return true;
}
</script>
</body>
</html>
我标成红色那一行不执行,如果为空,点击提交,直接就跳转了,但是如果输入不为空,可以判断。而且,为空的换成alert判断,也可以,这是怎么回事,应该怎么改。
<!DOCTYPE html>
<html>
<head>
<title>欢迎来到我的空间</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="http://www.baidu.com" method="get">
<label for="userId">用户名:</label><input id="userId" type="email" name="userId" placeholder="邮箱/用户名" autocomplete="off" /></br></br>
<label>密 码:<input id="passwd" name="passwd" type="password" autofocus placeholder="密码"/></label><br/><br/>
<input id="ok" name="ok" type="submit" value="提交" onclick="return check();"/>
</form>
<script type="text/javascript">
var check = function()
{
return commonCheck("userId" , "邮件地址" , "字段必须符合电子邮件的格式!");
}
var commonCheck = function(field , fieldName , tip)
{
var targetEle = document.getElementById(field);
// 如果该字段的值为空
if (targetEle.value == "")
{
//alert(fieldName + "字段必须填写!");
targetEle.setCustomValidity(fileName+tip);
return false;
}
// 调用checkValidity()方法执行输入校验
else if(!targetEle.checkValidity())
{
targetEle.setCustomValidity(fileName+tip);
//alert(fieldName + tip);
return false;
}
return true;
}
</script>
</body>
</html>
我标成红色那一行不执行,如果为空,点击提交,直接就跳转了,但是如果输入不为空,可以判断。而且,为空的换成alert判断,也可以,这是怎么回事,应该怎么改。
...全文
相关推荐
Project-1:HTML表单验证
专案1 HTML表单验证
HTML5 表单验证失败的提示语问题
主要介绍了HTML5 表单验证失败的提示语问题的相关资料,需要的朋友可以参考下
HTML5+setCutomValidity()函数验证表单实例分享
本文给大家分享的是在HTML5中结合setCutomValidity()函数实现验证表单的实例,非常的时间实用,这里推荐给大家,有需要的小伙伴可以参考下。
使用HTML5的表单验证的简单示例
主要介绍了使用HTML5的表单验证的简单示例,包括手机端利用的一个小例子分享,需要的朋友可以参考下
javascript表单正则验证自定义提示
可通过表单元素属性自定义验证方式、验证类型、提示信息


