4

JQuery Mobile を使用した MVC 4 サイトがあります。日付エディターをレンダリングするために、EditorFor を持つモデルを使用しています。MVCで私はこれを持っています:

@Html.EditorFor(Function(model) model.ActionDate)

モデル プロパティは次のように定義されます。

<Required>
<RegularExpression("\d{2}/\d{2}/\d{4}", ErrorMessage:="Please enter a date in the format of MM/DD/YY")>
<DataType(DataType.Date)>
<DisplayFormat(ApplyFormatInEditMode:=True, DataFormatString:="MM/dd/yyyy")>
<Display(Name:="Action Date")>
Public Property ActionDate As Date

次の値で HTML をレンダリングします。

<input type="date" ... value="04/24/2013" />

しかし、ユーザーに表示されるのは次のとおりです。

日付が表示されない日付ピッカー

日付はユーザーには表示されず、2013 年 4 月 24 日は Chrome の日付ピッカーのデフォルトではありません。クロムに実際に日付を表​​示するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

2

W3Cによると、<input type="date">要素に渡される値はRFC3339形式である必要があります。これはISO8601の特定のプロファイルです。

つまり、値をyyyy-MM-ddフォーマットで渡す必要があります。

于 2013-10-19T00:24:56.217 に答える
1

これとまったく同じ問題にぶつかるだけです。

私の解決策はtype="date"、日付ピッカーを接続するときにタイプをテキストに変更することで問題を回避することでした:

$('#Date').removeAttr('type').attr('type', 'text').datepicker();

JQueryUI を使用していない場合は、datePicker 部分を削除してください。

また、デフォルトの日付形式を強制する必要があったため (これも Chrome のおかげです)、次のようになりました。

$('#Date').removeAttr('type').attr('type', 'text').datepicker({ dateFormat: 'dd/mm/yy' });

Chrome は現在、jQueryUI の問題で定期的に悩まされており、お気に入りの開発ブラウザーから (互換性の問題で) 最も厄介なブラウザーになりました。

于 2014-01-29T10:42:47.710 に答える