2

テキストとパスワードの入力フィールドの両方にプレースホルダーが必要です。Internet Explorer 以外のすべてでこれを行うことができます。これはどのように行うことができますか?もしかしてjquery?特にパスワードについては、プレースホルダーに「パスワード」と言ってほしい。入力をクリックすると、その中のテキストがパスワード テキストとして表示されます。ありがとう!:)

4

1 に答える 1

1

IE9+ はプレースホルダーをサポートしていると思われますが、そうではないことがわかりました。プレースホルダーを「ふり」する方法はいくつかあります。IE でプレースホルダーのルック/フィールを実現する最善の方法は、入力ボックスの後ろに div を追加して (入力ボックスを透明にして)、表示したいテキストを表示する jquery 関数を作成することです。次に、入力またはデータが存在する場合、 A display:none div または opaque 入力ボックス。

他の人はテキストを入力フィールドに入力しますが、これは検証とパスワード フィールドで苦労する可能性があります。

何かのようなもの:

// Check browser type so we don't mess with other browsers that do this right
if (BrowserDetect.browser === 'Explorer') {
    // Find all placeholders
    $('[placeholder]').each(function(_index, _this) {
        var $this = $(this);
        var id = this.id;
        var thisValue = $this.val();
        var value = $this.attr('placeholder');
        var $element = $('#' + id + '_ph');
        if ( $element.length === 0 ) {
            // Add placeholder if no input you want to add it even if value in case they remove value
            $this.attr('placeholder', '');
            // Add the div (make sure you style ie_placeholder_fix
            // class with correct positioning etc)
            $('<div id="' + id + '_ph" class="ie_placeholder_fix">' + value + '</div>').insertAfter($this);
        }
        //Maybe you want to hide if it has a value?
        if ( thisValue ) { $element.hide(); } else { $element.show(); }
        $this.blur(checkForInput);
    });
}

値が事前入力されている場合(つまり、編集可能なフォーム)、divを非表示にするかどうかを確認するだけで済みます。

于 2013-07-22T21:04:46.050 に答える