0

我有几个文本框,其中包含值。当用户单击文本框时,我正在使用 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" >
4

2 回答 2

0

您可以创建一个全局布尔变量并将其初始化为 false。在您的“onfocus”功能中,只需将布尔值更改为 true。仅当您的布尔变量为真时才显示错误消息。

或者,您可以使用 HTML 5 属性“占位符”

这实际上为您完成了焦点部分,而实际上并没有在文本框中输入一个值。

有关详细信息,请参阅http://www.w3schools.com/html5/att_input_placeholder.asp 。

于 2012-06-22T21:11:45.897 回答
0

由于您在文本框中设置了一个值,因此您的验证将不起作用。将值更改为占位符。您无需使用 onfocus 和 onblur 来清除值,因为占位符会为您完成。

<input style="WIDTH: 275px" id="First_Name" name="realname" class="required" size="25" minlength="2" placeholder="First Name" >
于 2012-06-22T21:16:06.790 回答