Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525

    reload di una pagina tramite un'altra

    Finestra A e finestra B
    Dalla finestra A tramite un link si apre la finestra B (nn è una popup) e sono qdi entrambe visualizzate.
    Dalla finestra B, sempre tramite link, ho bisogno di passarmi un parametro nella finestra A,che va visualizzato all'interno di un text

    Il problema è:
    Il link della finestra B si apre sempre in B ...naturalmente...! Provando con target='_parent' idem

    <a href=finestra_A.php?data_evento=$link_date target='_parent'>

    Vorrei che al link in B si passi il valore di data_evento in A e che venga aggiornato, con tale valore, un campo di testo

    Thxx

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se le finestre non hanno un rapporto di "parentela" non puoi manipolare gli oggetti che contengono.

    Per poter rimediare occorre che le finestre abbiano la proprieta' name valorizzata... quindi la finestra A dovra' assegnarsi un nome:

    <script>window.name="mamma";</script>

    Ora dalla finestra B devi creare un riferimento alla finestra A:

    var finestra_A = window.open("","mamma");

    nota che questa istruzione non modifichera' il contenuto della finestra.

    Ora puoi raggiungere gli oggetti:
    finestra_A.document.nomeForm.nomeCampo.value='valo re';

    ciao

    Non trovo molta attinenza con il titolo della discussione... cosa non ho capito?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Ecco uno script "alternativo". Non avendo il codice della tua pagina PHP corrispondente a B, allora non riesco a prelevarne il parametro, che ho sostituito con un textbox da riempire da parte dell'utente.

    Pagina "A.html":

    <HTML><BODY link="blue" alink="blue" vlink="blue">
    Apri la pagina B
    <FORM action="A.html">
    <INPUT type="text" size="30">
    </FORM></BODY></HTML>

    Pagina "B.html" NON E' UN POP_UP

    <HTML><BODY link="blue" alink="blue" vlink="blue" onLoad="var event_date=null;">
    <FORM action="B.html" method="post">
    <INPUT type="text" size="30">
    Inserisci_data
    </FORM>
    <SCRIPT language="Javascript1.2">
    <!--
    function giveA()
    {
    event_date=document.forms[0].elements[0].value;
    if ((event_date==null)||(event_date==""))
    {
    alert("Inserire una data valida nel campo!");
    document.forms[0].elements[0].value="";
    document.forms[0].elements[0].focus();
    }
    else
    {
    var event_date=document.forms[0].elements[0].value;
    var father=window.opener;
    father.document.forms[0].elements[0].value=event_date;
    }
    }
    //-->
    </SCRIPT></BODY></HTML>
    Open ur mind 'n ENJOY da' power of JavaSkript :-)...
    Coded by 16437952

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    insomma...prob. ho spiegato male il problema, anche se in parte è stato risolto!
    Il problema ora è individuare il valore del paramentro da passare
    in quanto la pagina B non contiene form.
    E'creata dinamicamente,visualiazza una serie di link in cui mi passo la variabile data_evento nell'url del link, e in base al link cliccato assume diversi valori...

    <a href=finestra_A.php?data_evento=$link_date>

    Negli esempi ricavo il valore con la sintassi di qsto genere:
    document.forms[0].elements[0].value

    Ma nel mio caso,come la ricavo, esiste un modo?

    L'unica alternativa che mi viene è creare un form fittizio per ogni link (circa 30) e riuscire a ricavarne in qke modo il valore della var data_evento di quel form da cui si genera l'evento...suggerimenti?

    Thxxx

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Mi pare di capire che hai un server che esegue PHP... il parametro passato devi leggerlo forse da PHP... oppure continuo a non aver capito.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    ...si, uso pagine php. Cmq guarda, t posto il codice così magari posso farmi capire meglio
    Pagina A.html
    <HTML>
    <head>
    <script>
    function get_parametro(nome){
    if(!window.location.search) {
    alert("ERRORE - nessun parametro");
    return false;
    }
    var qst = window.location.search.substr(1);
    var dati = qst.split(/\&/);
    var valore = '';
    for (var i=0; i<dati.length; i++) {
    var tmp = dati[i].split(/\=/);
    if (tmp[0] == nome) {
    alert("trovato parametro " + nome + " con valore " +tmp[1]);
    document.forms[0].elements[0].value=tmp[1];
    return tmp[1];
    }
    }
    alert("parametro "+ nome +" non e` presente nella query");
    return false;
    }

    </script>
    </head>

    <BODY link="blue" alink="blue" vlink="blue" onLoad="get_parametro('data_evento')">
    Apri la pagina B
    <FORM action="A.html">
    <INPUT type="text" size="30">
    </FORM></BODY>
    </HTML>




    Pagina B.html
    <HTML><BODY link="blue" alink="blue" vlink="blue" onLoad="var event_date=null;">
    <FORM action="B.html" method="post">
    <INPUT type="text" size="30">
    Inserisci_data


    <a href=A.html?data_evento=10>TestInsert</a>
    </FORM>
    <SCRIPT language="Javascript1.2">
    <!--
    function giveA()
    {
    event_date=document.forms[0].elements[0].value;
    if ((event_date==null)||(event_date==""))
    {
    alert("Inserire una data valida nel campo!");
    document.forms[0].elements[0].value="";
    document.forms[0].elements[0].focus();
    }
    else
    {
    var event_date=document.forms[0].elements[0].value;
    var father=window.opener;
    father.document.forms[0].elements[0].value=event_date;
    }
    }
    //-->
    </SCRIPT></BODY></HTML>

    Premo pulsante in A e si apre la B
    da B premo link TestInsert che carica A e visualizza 10,però nella stessa finestra di B !! Invece vorrei che il valore 10n sia caricato nella finestra originale...

    Thxxx

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Rientra nella mia prima ipotesi... anche se sono convinto che sarebbe meglio (e piu' pulito) usare PHP.

    Cambia

    finestra_A.document.nomeForm.nomeCampo.value='valo re';

    con

    finestra_A.location.href="PaginaA.html?data_evento ="+document.forms[0].elements[0].value;

    Il resto del suggerimento rimane valido ma, ovviamente, e' da adattare alle tue pagine.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.