2

私はちょうどtwitter bootstrapから始めました。

無効なフォーム フィールドを作成したい。ドキュメントで、このスニペットを見つけました:

<input type="text" placeholder="Disabled input here..." disabled>

しかし、IE9 ではプレースホルダーは機能しません。属性を使用しvalueてコンテンツを設定すると、それが機能します (そして、chrome などの他のブラウザーで機能する palceholder テキストを上書きします)。

入力要素を使用しない別の方法があります。

<span class="uneditable-input">Some value here</span>

これは IE9 と chrome でも機能します。どちらのソリューションが優れていますか (IE8、7 (および 6) などの古いブラウザーと互換性がありますか?

4

5 に答える 5

4

twitterブートストラップPrepended and appended inputsを 使用する場合は、input要素を使用する必要があることがわかりました。span要素では機能しません。

例:

<div class="input-prepend">
  <span class="add-on">@</span>
  <input class="span2" id="prependedInput" type="text" placeholder="Username">
</div>

<div class="input-append">
  <input class="span2" id="appendedInput" type="text">
  <span class="add-on">.00</span>
</div>

スクリーンショット

于 2012-11-01T14:49:39.403 に答える
3
<span class="uneditable-input">Some value here</span>

より良い私見..

理由 - 新旧のブラウザーで期待どおりに動作し、外部スクリプトには依存せず、css スタイルのみに依存します。uneditable-input

span無効なフォームフィールドを使用する理由よりも、タグで値を単純にエコーできる場合..??

于 2012-11-01T14:33:20.957 に答える
3

IE 7/8/9 は HTML5 プレースホルダーをサポートしていません。最善の解決策は、機能を提供するスクリプト/プラグインを使用することです (存在しない場合) 。

https://github.com/miketaylr/jQuery-html5-placeholderを参照してください

http://jquery-watermark.googlecode.com/でも素晴らしい経験をしました。

どちらも HTML5 が利用可能な場合はそれを使用し、そうでない場合はそれをエミュレートします。

それらは信じられないほど簡単に使用できます。たとえば、透かしを使用するには、それを含めて document.ready() に行を追加するだけです

$("#my-input").watermark('default text');
于 2012-11-01T14:11:18.290 に答える
2

このplaceholder属性は HTML5 であり、多くのブラウザー (特に古いブラウザー) では機能しません。そのため、IE9 では機能しません。(Microsoft は IE9 でも標準に従っていません。)

スパンが属性よりも互換性があるかどうかという質問であれば、placeholderそうです。スパンは、すべてのブラウザーでサポートされている必要があります。

于 2012-11-01T14:09:45.070 に答える
1

あなたはJavaScriptの代替手段を使うことができます...

<input type="text" placeholder="Disabled input here..." onfocus="this.blur()" />
于 2012-11-01T14:11:40.333 に答える