0

次のコードを使用して、html5 プレースホルダーをサポートしていないブラウザーのエントリを事前設定しています。私はそれに2つの問題があります:

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');
                }
            });
    });
}

ありがとう!

4

2 に答える 2

1

広告 1.)

$('input:text, textarea')

動作するはずです。

于 2011-04-23T01:37:06.150 に答える
1

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();
   }
})
于 2011-04-23T01:38:53.510 に答える