各行の値を編集するためのグリッドとエディターがあります。私のエディターには、この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はすでに登録されています
誰かがこれを解決する方法を知っていますか?