Visualizzazione risultati 1 fino 4 di 4

Discussione: comunicazione tra più iframe

  1. #1
    Guest

    Predefinito comunicazione tra più iframe

    Ciao ragazzi, è possibile ricaricare un'iframe da un link contenuto in un'altro iframe?
    Tramite ajax riesco a fare il refresh dell'iframe A ma il submit è contenuto nella pagina principale, io voglio fare il refresh di A con submit contenuto in B!

    questo è lo script che uso
    Codice PHP:
    <script type="text/javascript">
    var
    myRequest = null;
    function
    CreateXmlHttpReq(handler) {
    var
    xmlhttp = null;
    try {
    xmlhttp = new XMLHttpRequest();
    }catch(
    e){
    try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(
    e){
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    xmlhttp.onreadystatechange = handler;

    return
    xmlhttp;
    }
    function
    myHandler() {
    if (
    myRequest.readyState == 4 && myRequest.status == 200) {
    e = document.getElementById("box");
    e.innerHTML = myRequest.responseText;
    }
    }
    function
    Ricarica(){
    document.getElementById("box").innerHTML="Sto aggiornando i dati...";
    var
    r = Math.random();
    myRequest = CreateXmlHttpReq(myHandler);
    myRequest.open("GET","statusbar.php?rand="+escape(r));
    myRequest.send(null);
    }
    </script>
    questo il submit che permette di fare il refresh
    Codice PHP:
    <input type='button' value='Ricarica' onclick='Ricarica()' />

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    http://en.wikipedia.org/wiki/Cross-document_messaging, ma se ambedue i documenti sono tuoi il mio consiglio è eliminare il frame.

  3. #3
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    In realtà se sono sullo stesso dominio puoi accedere direttamente tramite il DOM di Javascript. Da un frame figlio vai nei frame padre e da lì in un altro figlio:

    Codice:
    window.parent.frames[2].document


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Codice:
    window.parent.frames[2].document
    grazie ho risolto, se può servire a qualcuno ho fatto così!

    nel frame B quello con il pulsante ricarica ho messo questo script
    Codice PHP:
    <script type="text/javascript" language="javascript">
    function
    ricarica()
    { if(
    parent.document.getElementById("A").src!="A.php")
    parent.document.getElementById("A").src="A.php";
    }
    </script>
    ...

    <body onClick="ricarica()">
    il tasto è il seguente:
    Codice PHP:
    <input name='submit' type='submit' value='Invia' onclick='ricarica()'>
    nella pagina principale che contiene i frame dovrà essere così
    Codice PHP:
    <iframe src="A.php" id="A"></iframe><br>
    <
    iframe src="B.php"></iframe>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •