打开一个jQuery对话框从主窗口的IFRAME

问题描述:

我一直在尝试这种整天...打开一个jQuery对话框从主窗口的IFRAME

我有一个形式在iframe中,这包含了表单验证JQuery验证。我只想当数据无效时,jquery对话框出现在主页面,出现在top.document中。

这是我上的iframe代码:

​​

,这是一段代码,应该启动的对话框:

$("#search-form").validate({ 

     rules: { datapicker: {required: true,dateDE: true}}, 
     debug: true, 
     messages: { 
     datapicker: { 
      required: "És necessari introduïr una data", 
      date: "S'ha d'afegir una data correcte: dd/mm/aaaa" 
     } 
     }, 
     errorPlacement: function(error, element) { 
       error.prependTo($('#dialog-message', top.document)); 
     }, 
     errorLabelContainer: $("#dialog-message ul", top.document), 
     showErrors: function() { 
      $('#dialog-message',top.document).dialog('open'); 
      this.defaultShowErrors(); 
     } 
}); 

所以......这不工作,..如果我试试这个指令一切工作正常

$("#dialog-message", top.document).css(...) //works fine! 

我想可能是有一些问题,选择$ -top.document和直径日志功能...或者可能是不可能使用对话框()为div在不同的帧...

请帮助! :d

在此先感谢

+0

@webarto,您的评论是没有意义的 - 为什么jQuery不适用于使用iframe时? – Kon 2011-03-27 01:51:09

+0

......我不小心投了评论......呃,白痴。 – Kon 2011-03-27 01:51:51

+0

没有进一步的问题,您的荣誉。 – 2011-03-27 01:54:14

有在iframe的代码引用父,并调用父类的JavaScript函数,这样的事情:

// in iframe code: 
parent.doSearchFormValidate(); 

// parent page has definition for doSearchFormValidate(). 
function doSearchFormValidate() { 
    $("#search-form").validate({ 
    ... 
    }); 
}