使用 jquery 和验证预填充表单

发布于 2024-11-02 23:28:20 字数 783 浏览 0 评论 0原文

我正在使用以下代码来为不支持 html5 占位符的浏览器预填充条目。我有两个问题:

1)它只适用于文本框,不适用于文本区域...建议? 2)我正在使用jquery验证插件,并且由于以下代码添加了一个值,该插件认为有输入的内容,并且不会验证该字段...有什么办法解决这个问题吗?

我需要一种方法来仍然有效的验证,但能够预填充字段

$('input:text').each(
    function(){
        $(this)
            .val($(this).attr('placeholder'))
            .css('color','#999');
        $(this).click(
            function(){
                $(this)
                    .val('')
                    .css('color','#000');
            });
        $(this).blur(
            function(){
                if ($(this).val() === ''){
                    $(this)
                        .val($(this).attr('placeholder'))
                        .css('color','#999');
                }
            });
    });
}

谢谢!

I am using the following code, to prepopulate entries for browsers that do not support html5 placeholder. I'm having 2 problems with it:

1) It only works for text boxes, not text areas... suggestions?
2) I'm using the jquery validation plugin, and since the following code adds a value, the plugin thinks that there is something entered, and won't validate that field... Is there any way around this?

I need a way to still have effective validation, but be able to prepopulate the fields

$('input:text').each(
    function(){
        $(this)
            .val($(this).attr('placeholder'))
            .css('color','#999');
        $(this).click(
            function(){
                $(this)
                    .val('')
                    .css('color','#000');
            });
        $(this).blur(
            function(){
                if ($(this).val() === ''){
                    $(this)
                        .val($(this).attr('placeholder'))
                        .css('color','#999');
                }
            });
    });
}

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

叹梦 2024-11-09 23:28:20

1) 在选择器中包含 textarea

示例

$('input[text], textarea')

2) 提交表单时,如果输入中的值等于 defaultValue 属性,将其值设置为空白 ('')。

例子

form.validate({
   submitHandler: function(form) {

       form.find('input[text], textarea').each(function() {
           if (this.defaultValue == this.value) {
               this.value = '';
           }
       });

       form.submit();
   }
})

1) Include textarea in your selector.

Example

$('input[text], textarea')

2) On submit of the form, if the value in the input is equal to the defaultValue property, set its value to blank ('').

Example

form.validate({
   submitHandler: function(form) {

       form.find('input[text], textarea').each(function() {
           if (this.defaultValue == this.value) {
               this.value = '';
           }
       });

       form.submit();
   }
})
盛装女皇 2024-11-09 23:28:20

广告 1.)

$('input:text, textarea')

应该可以。

Ad 1.)

$('input:text, textarea')

Should work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文