これまでの調査: ダイアログ コードでグローバル変数を使用できるようにするために、グローバル変数宣言を使用することを提案する 1 つの回答を見つけましたが、それはショットガン アプローチだと思います。.dialog ボックスの close: に変数を具体的に渡したいと思います。
問題: ダイアログ ボックスの close: セクションにパラメーターを渡すことができません。
ごく最近、フォームsubmit()に続くこのコードを試しました:
document.forms['dsEntryForm'].submit();
myTalk.data('timestamp', timestamp); //assign the ID for later
myTalk.dialog("close");
...ここで、myTalkはダイアログ ボックスに割り当てられた変数、timestampは UTC 値であり、最後に一連の操作を実行する必要があります。
close: function(data){
clearForm(document.forms['dsEntryForm']);
CKEDITOR.instances.editor.setData('');
if(document.getElementById('formsubmitted')){
document.getElementById('formsubmitted').parentNode.removeChild(document.getElementById('formsubmitted'));
}
getNewMessage(data.timestamp);
}
ただし、結果を使用してdata.timestampalert(data.timestamp);
の値をデバッグすると、結果はundefinedになります。