2

到目前为止的研究:我发现一个答案建议使用全局变量声明以使全局变量可用于对话框代码,但我认为这是一种霰弹枪方法。我希望专门将一个变量传递给 close: 我的 . 对话框。

问题:无法将参数传递给我的对话框的 close: 部分。

最近我尝试了这段代码,它遵循表单提交():

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);
    }

但是,当我使用 an调试data.timestampalert(data.timestamp);的值时,结果是undefined

4

1 回答 1

4

对话框close事件接收参数event,并且ui没有您尝试使用的数据。

如果您使用该data-timestamp属性设置了数据,那么您可以在关闭事件中访问它,如下所示:

close: function(){
    console.log( $(this).data('timestamp') );
}
于 2013-06-24T17:52:52.417 回答