0

一部のブラウザーが「プレースホルダー」タグをサポートしていないという事実に満足できなかったので、「JS がほとんど利用可能であるときに、JS 回避策を開発しないでください」と考えました。

そこで、JS ですべてのプレースホルダーの動作を行う form-input-search を構築します。これには 1 つの利点があります。onFocus はフィールドをクリアします! プレースホルダーがフィールド onFocus をクリアしないという事実は、これを行うもう 1 つの理由でした。コードは次のとおりです。自由に使用および変更してください。

4

1 に答える 1

1
$('form').each(function(){
                var f = $(this);
                f.find('input[type=text]').each(function(){
                    var s = $(this);
                    var attr = s.attr('placeholder'); 
                    if (attr && $.trim(attr)!='') {
                        $.extend(this,{oldPlaceholder: s.attr('placeholder')})
                        s.removeAttr('placeholder');

                        if ($.trim(this.value)=='') {
                            this.value = this.oldPlaceholder;
                        }


                        s.focus(function(){
                            if ($.trim(s.val())==this.oldPlaceholder) {
                                s.val('');
                            }
                        });

                        s.blur(function(){
                            if ($.trim(s.val())=='') {
                                s.val(this.oldPlaceholder);
                            }
                        });
                    }
                });

                f.submit(function(){
                    $(this).find('input[type=text]').each(function(){
                        if (this.oldPlaceholder && $.trim(this.value)==this.oldPlaceholder) {
                            this.value = '';
                        }
                    });
                });
            });
于 2012-12-22T16:05:26.063 に答える