0

画面の多くのコントロールの 1 つとして DateTextBox を使用しています。それらを 1 か所に登録してから、それらの値をループでバッチ設定し、それぞれを呼び出しset('value', val)ます。すべてのコントロールは正しく動作しますが、DateTextBox だけがサーバーからのデータを受け入れません。

当初、Java の Date は long (例: 1280959200000) としてシリアル化されていましたが、ISO 形式 (例: "2010-08-04T22:00:00.000+0000") に変更すると、どちらも受け入れられません。ただし、どちらもnew Date()コンストラクターで受け入れられる日付形式です。

出力では、ISO形式の日付値「2013-08-04T22:00:00.000Z」を取得するため、入力でも受け入れる必要があります。

JavaScript の Date オブジェクトでサポートされているすべての形式、またはサーバーから返される形式の 1 つを受け入れるようにするには、DateTextBox で何ができますか?

4

2 に答える 2

0

ドキュメントは言う:

年/月/日のみが指定された JavaScript Date オブジェクトとしてのこのウィジェットの値。

したがって、これの代わりに(あなたが現在行っていると思います):

new dijit.form.DateTextBox({value: "2010-08-04T22:00:00.000+0000"}, domNode);

これを行う:

var myDate = new Date("2010-08-04T22:00:00.000+0000");
new dijit.form.DateTextBox({value: myDate}, domNode);
于 2013-10-22T11:59:53.577 に答える