我在表单中有几个文本框,其中包含值。当用户点击文本框时,我使用onfocus和onblur来清除值。我也试图验证文本框,但由于框中已有值,验证不起作用。有没有办法可以让验证忽略这个值(即名字)?
谢谢!
<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" >
答案 0 :(得分:0)
您可以创建一个全局布尔变量并将其初始化为false。 在“onfocus”函数中,只需将布尔值更改为true即可。 仅当您的布尔变量为真时才显示错误消息。
或者,您可以使用HTML 5属性“占位符”
这实际上是你的焦点部分而没有在文本框中实际放置一个值。
有关详细信息,请参阅http://www.w3schools.com/html5/att_input_placeholder.asp。
答案 1 :(得分:0)
由于您在文本框中设置了值,因此验证无效。将值更改为占位符。您不需要使用onfocus和onblur来清除值,因为占位符会为您完成。
<input style="WIDTH: 275px" id="First_Name" name="realname" class="required" size="25" minlength="2" placeholder="First Name" >