[英]Working Form Validation with Jquery
我一直在尝试使用可视的复选标记或X键入在keyup上的表单字段旁边进行自己的表单验证。 我遇到的一个问题是,是否触发错误会在触发键盘后产生新的跨度。 因此,我尝试在每次输入键后删除所有元素,以使我获得一个成功或错误消息。 这目前可行,但是我想知道是否有更好的方法可以做到这一点:
jQuery('input#firstname').keyup(function () {
var text = jQuery(this).val();
if (check_text(text) === false || text === '') {
$(this).nextAll().remove();
jQuery(this).after('<span class="form-error">Error</span>');
} else {
$(this).nextAll().remove();
jQuery(this).after('<span class="form-success">Success</span>');
}
});
/* Functions */
function check_text(text) {
var regex = /^[a-zA-Z0-9- ]*$/;
return regex.test(text);
}
工作示例: http : //jsfiddle.net/XBaKQ/1/
我建议您在每个input
旁边添加跨度
<input id="firstname" /><span class='msg'></span> <br>
<input id="lastname" /><span class='msg'></span>
并在您的脚本设置消息中像这样:
if (check_text(text) === false || text === '') {
jQuery(this).next(".msg").html('<span class="form-error">Error</span>');
} else {
jQuery(this).next(".msg").html('<span class="form-success">Success</span>');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.