2010-07-05 10 views
3

J'ai essayé ce pour toute la journée ...Ouverture d'un dialogue Jquery dans la fenêtre principale de iframe

J'ai une forme dans un iframe et celui-ci contient validate jquery pour la validation du formulaire. Je veux juste que lorsque les données sont invalides, la boîte de dialogue jquery apparaît dans la page principale, apparaît dans top.document.

c'est mon code Iframe:

$("#dialog-message", top.document).dialog({                  
      modal: true, 
      autoOpen: false, 
      buttons: { Ok: function() { 
       $(this).dialog('close'); 
       } 
      } 
      }); 

ce qui est un morceau de code qui doit activer la boîte de dialogue:

$("#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(); 
     } 
}); 

donc ... cela ne fonctionne pas et .. . Si j'essaie cette instruction tout fonctionne très bien

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

Je pense que peut-être il y a un problème avec le sélecteur $ -top.document et dia fonction de journal ... Ou peut être n'est pas possible utiliser dialogue() pour divs dans différentes images ...

aide s'il vous plaît! : D

grâce à l'avance

+0

@webarto, votre commentaire n'a pas de sens - pourquoi est jQuery pas applicable lorsque vous travaillez avec des iframes ?? – Kon

+0

... et j'ai accidentellement voté le commentaire ... euh, idiot. – Kon

+0

Pas d'autres questions, Votre Honneur. –

Répondre

2

ont le code dans la iframe référence du parent, et appeler la fonction JavaScript du parent, quelque chose comme ceci:

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

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