繁体   English   中英

使用Jquery进行工作表单验证

[英]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>');
      }

jsFiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM