我想在表单字段中进行验证..
字段:
名称(文本框) - >应该输入值。什么时候没有输入&出来它会显示错误信息。
电子邮件(正则表达式) - >检查邮件格式
性别(单选按钮) - >应选择任何一个单选按钮
位置(下拉列表) - >没有输入下拉列表将显示错误消息
手机号码(文本框) - >只输入数字
我需要以上所有类型的验证。
$('#Email').click(function(){
var name=$('#Name').val();
if(name==""){
$('#Name').after('<div class="red">Name is Required</div>');
}
});
但每当我点击电子邮箱时,它都显示错误信息。怎么做?请帮我?我尝试了第一个字段名称
答案 0 :(得分:2)
您不应该在电子邮件文本框的click
事件中执行此操作,而应该在名称的blur
事件中执行此操作文本框。只要控件失去焦点,就会触发blur事件。试试这个,
$("#Name").blur(function(){
if($(this).val().length === 0){
$(this).after('<div class="red">Name is Required</div>');
}
});
这里我会检查#Name
文本框内的值的长度,只要失去焦点。现在,当您提交表单时,当用户按下按钮单击事件时,您将不得不再次进行此检查。
与验证电子邮件字段类似,您将使用@onlyVJ提供的正则表达式。
/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
您将从文本框中获取值,并使用匹配将其与正则表达式匹配。 Follow this link to learn more.这将在 #Email 文本框
的blur
事件中完成
已编辑 -
我不会给你代码但是,我会指导你使用一种方法。
下拉列表 -
您可以将模糊事件附加到下拉列表,并检查在页面加载时您在开头显示的默认值是否仍为选定值。如果是,则显示错误,否则不显示。
对于单选按钮 -
答案 1 :(得分:1)
您需要使用模糊事件来识别元素失去焦点。访问documentation for blur了解更多信息和示例。
如果你想要,你也可以试试jQuery验证插件。访问jQuery Validation Plugin website
答案 2 :(得分:0)
$("#element").blur(function(){
$(this).validate({
// your code here
})
})