Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    residenza
    Roma
    Messaggi
    89

    Jquery - Iframe - Selector

    All'interno di una pagina (ASP) ho inserito un IFRAME che uso per svolgere operazioni backend.
    Una delle operazioni è inviare email. Al termine di questa azione vorrei aprire un box modale per dare conferma all'utente.

    Nella pagina principale ho inserito un <div> al quale ho associato un oggetto Dialog per l'apertura del box modale.

    '--------------------------------------------------------------------
    [...]

    $(function() {
    // DIALOG -----------------------------//
    $.fx.speeds._default = 600;
    $('#contacts_confirmSendMessage_dialog').dialog({
    autoOpen: false,
    show: 'blind',
    hide: 'explode',
    modal:true
    });

    [...]
    '----------------------------------------------------------------------

    La pagina che viene richiamata all'interno dell'IFRAME deve contenere l'istruzione per aprire il box modale; esempio:

    '----------------------------------------------------------------------
    $('#contacts_confirmSendMessage_dialog', top.document).dialog('open');
    '----------------------------------------------------------------------

    Non riesco ad ottenere il risultato. Mi viene restituito un errore, riferito ad una delle prime righe del file richiamato, vuota.

    L'istruzione funziona se posta nella pagina principale. E' evidente che non uso gerarchia corretta per accedere ad un selettore della pagina padre.

    Qualcuno può darmi supporto?

    Anche ... è una soluzione corretta quella che adotto (richiamare box da iframe) oppure posso trovarne di più efficaci?
    GRAZIE.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    $, e qualunque cosa riguardi jquery, non esiste nella pagina nell' iframe, esiste nella principale

    prova con
    parent.$('#contacts_confirmSendMessage_dialog').di alog('open');

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    residenza
    Roma
    Messaggi
    89
    Grazie per l'interessamento.
    In effetti ho pensato a problemi del genere prima che alla gerarchia degli elementi; ad ogni modo non sono in grado di far funzionare neppure mettendo il richiamo alla libreria JQuery (ammetto di non essere competente JQuery).
    Ho usato "parent" e "parents" e mille altre cose, in tutte le combinazioni ...

    A questo punto dico ancora: sto usando un approccio non corretto rispetto all'obiettivo; deve esserci un'altra soluzione ... emettere un messaggio di conferma dopo un'operazione è cosa abbastanza consueta. Uso un IFRAME per eseguire le azioni senza interferire con la pagina principale; ma occorre infine che ci sia comunicazione reciproca tra i due. Potrei usare altri metodi che non avviare un dialog box da IFRAME, ma vorrei capire se veramente non c'è soluzione a questo tentativo.
    Potrei anche riportare l'apertura del dialog box nella pagina principale ma IFRAME dovrebbe informare comunque del risultato ottenute dall'azione eseguita: e si creerebbero problemi di sincronizzazione tra "fine operazione" e "controllo dalla pagina principale" ... mi spiego?

    Sto esagerando un problema?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    il documento in un iframe "parla" dell' oggetto window che contiene l' iframe (chiamiamola principale) come del suo parent.
    Se nella principale questo
    codice:
    $('#contacts_confirmSendMessage_dialog').dialog('open');
    funzionasse, dal documento in iframe (che dalla descrizione viene sicuramente caricato in un momento successivo)
    codice:
    parent.$('#contacts_confirmSendMessage_dialog').dialog('open');
    dovrebbe funzionare

    un motivo per cui non funzioni e' che i due documenti risiedano su domini diversi, javascript non potrebbe in questo caso permettere l' interazione tra essi

    se non e' questo il caso e vuoi che vi si dia un' occhiata lascia un link alla pagina online
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.