2011-08-30 14 views
7

ウェブプログラミングに関する知識はほとんどありませんが、私の会社のウェブサイトで何かを解決しようとしています。どうやら、タイプ= "日付"を使用している従来のサイトでHTML5を使用しているブラウザに問題があり、その周りに方法を見つける必要があります。我々は現在、クロム以外使用し、すべてのブラウザでGoogle Chromeの入力タイプ= "日付"

<input type="date" name="DateStart" size="15" value="8/30/2011"> 

、これはうまく動作します:

私のサイトでは、そのようなようなユーザを入力しなければならないが、日付フィールドをたくさん持っています。 Chromeは、日付をスクロールするためのローリングボタンを提供する唯一のブラウザです。

FormatDateTime(DateStart, 2) 

私たちは、このフォームに必要事項を記入してChromeを使用できないことを意味し、無効な日付のエラーを取得する:私はこれのバックエンドで参照してこれを実行しようとする試みです。この問題を回避する方法はありますか?

答えて

7

クロムには日付入力に関する問題がありません。you are using the wrong date-format、新しいHTML5入力をサポートしている今日まで、Chromeは唯一のブラウザではありません。たとえばOperaでは、入力時のカレンダーがドロップダウンで表示され、type="date"と表示されます。

また、サイズ属性はHTML5の日付入力には存在しません。

+0

よろしくお願いいたします。私が言ったように、私はほとんどWeb devの知識がありません。このサイトは約10年前のもので、会社はそれを置き換える予算がないので、私はそれを最新に保つことを任されています。この特定のインスタンスでChromeがHTML5を使用しないようにして、以前の使用方法に戻す方法はありますか?それはバージョン9程度までうまくいきました。 –

+2

私は元の文言をあまり攻撃的ではないと決めました。 –

+4

ここで問題となっているのは、あなたの/サイトが標準入力草案に含まれるずっと前に入力タイプの「日付」を使用していたことです。そのタイプを "テキスト"に変換できるのであれば、それは最も簡単な解決策です。 – feeela

28

実際に 'date'のクロムのサポートは、が壊れています。 (See here)。少なくとも現時点では。

HTMLで '日付'を使用することはまったく問題ありません。入力タイプを知らないかサポートしていないブラウザーは、type = 'text'にフォールバックされることになっています。

は現在、当然のことながら、本質的に壊れている方法(それはアップダウンボタンのカップル、ない日付ピッカーが追加されます。)

であなたがもしことに留意する必要がある、部分的に日付をサポートしていますクロム type = 'date'、and if the browser supports itを使用している場合は、そうでなければ使用したいと思われる日付ピッカーのサポートを無効にする必要があります。

UPDATE(2012年2月6日):

これが修正されましたようにそれは私には見えます。 Chromeは入力タイプ= '日付'をサポートすると主張しておらず、部分的に完全な実装を提供していません。

UPDATE(2012年8月17日):

クロームは今input type="date" supportを持っており、それが今回より機能だん。

+0

実際には[WHATWG仕様](http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#date-state-( type = date))では、UIをどのように見えるかについては言及していません。ちょうど日付を挿入または変更するための「コントロール」が必要です。これは通常、日付ピッカーですが、仕様の通りにはそうではありません。だから、 "壊れた"というのは視点にかかっています。マウスのスクロールホイールで元のChromeの日付入力を使用している人がいます(これは動作します - 入力を上にスクロールして日付を上げる)。私はそれが貧弱な実装だと知っていますが、何とか使えるので、壊れません。 – feeela

+0

@feeela現在の実装は以前よりもはるかに機能的です。前の実装は基本的に使用できませんでした。チームが後でそれを削除することを実証したからです。 –

+8

@Tom Christie:あなたの答えを最新に保つために+1! –

4

入力タイプ=入力の値フィールドは、yyyy-MM-ddの形式である必要があります。 Check the W3 standards on this.

これは、DateTime.Now.ToString( "yyyy-MM-dd")のようなものを行う必要があることを意味します。あなたのコードでは、カスタムHtmlHelperを提案します。

ブラウザの日付形式は、システム設定に完全に依存します。

0

この日付のユーザー:date("Y-m-d");

関連する問題