在网站设计中,表单是常见的元素之一。表单用户填写需要提交的信息,然后网站通过表单校验检查数据的合法性。在表单中,为了增加用户体验,常常使用jQuery插件来提供一些提示和
在网站设计中,表单是常见的元素之一。表单用户填写需要提交的信息,然后网站通过表单校验检查数据的合法性。在表单中,为了增加用户体验,常常使用jQuery插件来提供一些提示和反馈。其中,一种常见的插件是输入错误提示。
输入错误提示可以让用户在提交表单前就知道哪些数据不合法,从而节省用户的时间和减少错误。下面是一个示例,演示如何实现输入错误提示。
首先,建立一个简单的HTML表单。该表单包含三个字段,分别是姓名、电子邮件和密码。
<form id="signup-form"> <div class="form-group"> <label for="name">姓名</label> <input type="text" class="form-control" id="name" placeholder="请输入您的姓名"> </div> <div class="form-group"> <label for="email">电子邮件</label> <input type="email" class="form-control" id="email" placeholder="请输入您的电子邮件"> </div> <div class="form-group"> <label for="password">密码</label> <input type="password" class="form-control" id="password" placeholder="请输入密码"> </div> <button type="submit" class="btn btn-primary">提交</button> </form>
接下来,我们使用jQuery插件进行输入错误提示。使用jQuery的validate插件,可以根据表单字段的规则(例如必填字段或电子邮件格式),在用户提交表单前动态检查表单。如果字段不符合规则,则提示输入错误。下面是实现该功能的示例:
$(document).ready(function(){ $("#signup-form").validate({ rules: { name: { required: true }, email: { required: true, email: true }, password: { required: true, minlength: 6 } }, messages: { name: { required: "姓名不能为空" }, email: { required: "电子邮件不能为空", email: "电子邮件格式不正确" }, password: { required: "密码不能为空", minlength: "密码至少需要6个字符" } }, errorElement: "div", errorPlacement: function(error, element) { error.addClass("invalid-feedback"); element.closest(".form-group").append(error); }, highlight: function(element, errorClass, validClass) { $(element).addClass("is-invalid").removeClass("is-valid"); }, unhighlight: function(element, errorClass, validClass) { $(element).removeClass("is-invalid").addClass("is-valid"); } }); });
在上述示例中,通过 $(document).ready()
方法在页面加载时使用了validate插件。rules
对象指定了规则,messages
对象指定了错误信息。在错误信息中,可以使用特殊字符“$”符号来引用表单字段的名称。
errorElement
选项将使用div
元素来呈现错误消息。errorPlacement
选项将错误消息插入到与输入字段相关联的 form-group
类中。highlight
和unhighlight
选项分别在输入框聚焦和失焦时触发。这两个方法可以将边框颜色设置为红色和绿色,以便更好地突出错误字段。
最后,当用户提交表单时,validate插件将执行验证。如果字段不符合规则,则会出现错误消息。这些消息会在提交按钮下方的每个相应字段的基础上显示。
【转自:美国高防服务器 http://www.558idc.com/usa.html转载请说明出处】