0

各行の値を編集するためのグリッドとエディターがあります。私のエディターには、このdijit.form.DateTextBoxがあります。送信とキャンセルのボタンもあります。[編集]ボタンをクリックすると、グリッドポップアップエディターが開きます。このエディターには、1つのフォームと、テキストボックスを含む他の多数のdojoコントロールがあります。次に、キャンセルボタンを使用してフォームをリセットし、Dojoグリッドポップアップダイアログを非表示にします。同じための関数を作成しました。DateTextBoxonChangeイベントの後に実行されるJavaScriptを削除すると正常に動作します。それは私にこれ以下のエラーを与えます。

Uncaught TypeError:nullのメソッド'getMonth'を呼び出すことができません

DateTextBoxonChangeイベントにあるJavaScriptはこれです。

dojo.connect(dijit.byId("Edit_TrialStartDate"), "onChange", function () {                        
                        var item = dojo.date.locale.format(dijit.byId("Edit_TrialStartDate").value, { datePattern: "MM/dd/yyyy", selector: "date" });
                        dijit.byId("Edit_tTrialStartDate").setValue(item);
                    });

このエラーが発生した場合、グリッドポップアップダイアログが登録されているIDを解放しないためです。したがって、一度に編集できるレコードは1つだけです。別の行の[編集]ボタンをクリックすると、以下のエラーが発生します。

キャッチされないエラー:ウィジェットをid == TrialGridPopUpに登録しようとしましたが、そのIDはすでに登録されています

誰かがこれを解決する方法を知っていますか?

4

1 に答える 1

2

コードのどこかで、日付ではないオブジェクトを、日付を期待しているメソッドに渡しています。

Uncaught TypeError: Cannot call method 'getMonth' of null

dijit.byId("Edit_TrialStartDate").value私はそれがあなたに日付オブジェクトを与えていることを確認します。

電話をかけるのも良い習慣ですdijit.byId("Edit_TrialStartDate").get('value');

于 2012-04-26T20:22:07.257 に答える