我在表单中有两个文本框,其中包含值。当用户单击文本框时,我使用onfocus和onblur清除该值。我也在尝试验证textbox的值,但是因为框中已经有一个值,所以验证不起作用。有没有一种方法可以让验证忽略该值(即,名字)?
谢谢!
<script type="text/javascript">
var j = jQuery.noConflict();
j(document).ready(function() {
j("#ContactUs_Solutions_EN2012").validate({
rules: {
realname: "required",
email: {
required: true,
email: true
}
},
messages: {
realname: "<p style='color:red; font-size:12px; margin:-10px 0 0px 0; padding:10px 0px 10px 10px ; text-align:right;'>Please specify your name</p>",
email: {
required: "<p style='color:red; font-size:10px; margin:-10px 0 0px 0; padding:0; text-align:right;'>We need your email address to contact you</p>",
email: "Your email address must be in the format of name@domain.com"
}
}
});
});
</script>
<input style="WIDTH: 275px" id="First_Name" name="realname" class="required" size="25" minlength="2" value="First Name" >发布于 2012-06-23 05:16:07
由于您在文本框中设置了一个值,因此您的验证将不起作用。将值更改为占位符。你不需要使用onfocus和onblur来清除值,因为占位符会为你做这件事。
<input style="WIDTH: 275px" id="First_Name" name="realname" class="required" size="25" minlength="2" placeholder="First Name" >发布于 2012-06-23 05:11:46
您可以创建一个全局布尔变量,并将其初始化为false。在"onfocus“函数中,只需将布尔值更改为true即可。仅当布尔变量为true时才显示错误消息。
或者,您可以使用HTML5属性"placeholder“
这实际上是为您完成了焦点部分,而不是在文本框中实际放置一个值。
有关更多详细信息,请参阅http://www.w3schools.com/html5/att_input_placeholder.asp。
https://stackoverflow.com/questions/11164065
复制相似问题