2011-12-08 4 views
8

問題がありますが、間違っているかどうか、またはこの機能がまだサポートされていないかどうかはわかりません。SafariのHTML5日付フィールドとプレースホルダテキスト

基本的に私は、次のコード行があります

<input type="text" name="lastname" id="lastname" value="" placeholder="Last name" /> 

<input type="date" name="dob" id="dob" value="" placeholder="Date of birth" /> 

を私はSafariとすべての良いのデスクトップバージョンでこれをテストしてみたが、私はiPadでそれをテストする場合、第二の入力がありませんプレースホルダテキストを表示します。プレースホルダのテキストがiPadのtype = "date"でサポートされているかどうかは誰にも分かりますか?

iPadは正しいことをやっている

答えて

7

乾杯 ニック。 placeholder属性isn't supported on input elements on type datedateタイプをサポートしていないため、デスクトップのSafariで動作している可能性があります。そのため、属性は無視され、プレーンテキストフィールドが残っています。 DOMインスペクタをチェックインすることができます。

+2

乾杯を。素晴らしいリソースへのリンクもありがとう!後で使用するためにブックマークされています。これは、いくつかのテキストフィールドにプレースホルダテキストを持つことができますが、他のテキストフィールドは使用できないということがちょっと変わったと言わなければなりません。もしフォーマットを、例えば 'dd/mm/yy'のプレースホルダとして追加したいのであれば? – Sniffer

+0

しかし、それはポイントです。日付入力はテキストフィールドではありません。 – robertc

+0

セマンティクス。それは入力フィールドです。それで、通常のキーボードをフォーカスに合わせるのではなく、iPadで日付ピッカーの選択が表示されます。 – Sniffer

4

ここをクリックしてください...

最初はテキストフィールドとしてフィールドを持っています。ユーザーがフィールドのフォーカスを合わせると、フィールドに日付が入力され、再度フォーカスが移動します。

sidarcyのソリューションを使用してJS ios6

HTML

<input type="text" placeholder="DOB" id="dob" /> 

<script> 

    var textbox = document.getElementById('dob') 
     textbox.onfocus = function (event) { 
      this.type = 'date'; 
      this.focus(); 
    } 

</script> 
3

をテストした:

<input type="date" name="dob" id="dob" value="" 
    placeholder="Date of birth" 
    onfocus="this.type='date';this.focus();" 
    onblur="if(this.value == '') this.type='text';"/> 
1

のiOSのSafariのCSS:

input[type='date']:after { 
    color: #aaa; 
    content: attr(placeholder); 
} 

そして、日付入力にプレースホルダを使用します。

<input name="mydate" type="date" value="" placeholder="Select a date" /> 
+0

これは機能しますが、プレースホルダは値を選択した後でも残っています(少なくとも 'time'型の場合と同じです) – sMyles

関連する問題