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