我在验证表单时遇到了一些问题:
当验证返回error时,它会显示一个包含交叉图像和消息的 span 元素,这与预期的一样。
但是,当验证成功时,它会显示多个 span 元素,一个挨一个,包含一个复选标记图像(抱歉,无法上传图像,因为我是这里的新手)。
代码:
jQuery 验证:
$("#signupform").validate({...
errorClass: "error",
validClass: "valid",
errorElement: "span",
highlight: function(element, errorClass, validClass) {
$(element).addClass(errorClass).removeClass(validClass);
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
},
success: function(label) {
label.addClass('valid').removeClass('error');
}
});
HTML 表单:
...
<div class="field">
<label for="email">Email:</label>
<input type="text" id="email" name="email" />
<span id="email_status"></span>
</div>
<div class="field">
<label for="username">Username:</label>
<input type="text" id="username" name="username" />
<span id="username_status"></span>
</div>
<div class="field">
<label for="password">Password:</label>
<input type="text" id="password" name="password" />
</div>
<div class="field">
<label for="confirmPassword">Confirm password:</label>
<input type="password" id="confirmPassword" name="confirmPassword" />
</div>
...
注意: “email_status”和“username_status”特定于 ajax 可用性验证。
CSS:
#signupform span{
width:auto;
height:16px;
padding-left:30px;
margin-left:10px;
display:inline-block;
vertical-align:text-bottom;
font-family: Avant Garde, Arial,sans-serif;
font-size:12px;
border:1px solid #000;
}
#signupform span.valid {
background:url("../images/tick.png") left center no-repeat;
}
#signupform span.error{
background:url("../images/error.png") left center no-repeat;
color:#B94A48;
}
怎么了?