Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    133

    Passare dati da una pagina all'altra

    Salve a tutti. Ho da poco cominciato a studiare Ajax e jQuery, e mi stavo chiedendo come fosse possibile realizzare il passaggio di determinati dati da una pagina all'altra, senza utilizzare form o cose simili. Farò un esempio di ciò che voglio realizzare.
    Ho una pagina con un campo text input e un link che apra una finestra che si apre tipo pop-up, nella quale ho una lista di nomi. Cliccando su uno dei nomi (o su un radio button accanto ai nomi, questo importa poco), vorrei che nella pagina che ha aperto il pop-up, il campo input si compili da solo con il nome che ho selezionato prima nella finestra di pop-up.
    Che funzioni devo studiarmi, di preciso? (Ajax o jQuery)
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    133
    up

  3. #3
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530

    window.opener

    Io so scrivertelo in JavaScript, e stamani mi va di fartelo volentieri, ma non è proprio uno degli esempi più semplici (!) per uno che si accosta a questo linguaggio di programmazione.

    L' istruzione JS che fa la magia, è window.opener che consente di riferirsi dalla pop-up alla finestra madre da cui è stata lanciata.

    Pop-up ne possiamo avere di due tipi:
    - pop-up "scritta", che ho impiegato nell' esempio;
    - pop-up "caricante" che richiama (che carica) un file esterno, con questa sintassi:
    window.open('path/filename.html', 'nome_popup', 'width=300, height=220');

    Nell' esempio adopero una pop-up "scritta" per avere il tutto in unico Documento.
    codice:
    <html>
    <head><title>From pop-up to parent window data transfer</title>
    
    <script type="text/javascript">
    
     function pop_up(){
    
        win=window.open('', 'elenco', 'width=300, height=220');
        win.document.open();
    
        win.document.writeln('<html><body>');
        win.document.writeln('
    <input value="Tina"  name="nomi" type="radio" '+
                             'onclick="window.opener.document.getElementById(\\'campo_testo\\').value=this.value"> Tina  ');
        win.document.writeln('
    <input value="Paola" name="nomi" type="radio" '+
                             'onclick="window.opener.document.getElementById(\\'campo_testo\\').value=this.value"> Paola ');
        win.document.writeln('
    <input value="Enzo"  name="nomi" type="radio" '+
                             'onclick="window.opener.document.getElementById(\\'campo_testo\\').value=this.value"> Enzo  ');
        win.document.writeln('');
        win.document.writeln('</body></html>');
        win.document.close();
        win.focus();
    
     }
    
    </script>
    
    </head>
    <body bgcolor="#ff9090">
    <div align="center">
    
     
    
    
    <input id="campo_testo" value="" type="text" size="">
    <input value="apri elenco" type="button" onclick="pop_up();">
    
    </div>
    
    </body>
    </html>
    .document.write(''); oppure .document.writeln(''); consentono di scrivere in HTML il contenuto della pop-up proprio come se si trattasse di un HTML Document a se' stante.

    La ripresa degli apici ' ed il segno di concatenazione + ci permettono di andare a capo nella stesura del codice, altrimenti dovresti mantenere ininterrotta la riga di scrittura per ciascuna .document.writeln('bla bla bla');
    codice:
                                                                             '+
                             '
    Compaiono anche degli escape characters \ c'è parecchia roba, insomma ...

  4. #4
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530

    this.value

    this.value (senza apici) recupera il Valore di VALUE del radio-button
    ma il Valore reale (tra apici, allora) si può scrivere direttamente nell' istruzione JS, che quindi diventa (coi dovuti escape character):
    codice:
        win.document.writeln('
    <input name="nomi" type="radio" '+
                             'onclick="window.opener.document.getElementById(\\'campo_testo\').value=\\'Paola\\';"> Paola ');
    non ricorrendo più all' Attributo VALUE nell' INPUT radio.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    133
    , grazie per le approfondite spiegazioni. Comunque molte cose di quelle già le conoscevo, in realtà dovevo solo conoscere la classe .opener...
    Grazie mille dell'aiuto!!

  6. #6
    Scusate, ma io non riesco a risolvere il mio problema che e' sempre quello di passare campi da una pagina ad altra.


    Qui posto il codice:
    <script language="javascript">
    // Apertura Finestra Controlli
    function aprifinestra()
    {
    weblink=window.open("£index_controlli.asp","CONTRO LLI","width=550, height=300, left=300, top=050, status=0, toolbar=0, menubar=0, location=0, resizable=0, scrollbars=0, directories=0")
    }
    </script>



    la form viene eseguita cosi'
    <FORM method="get" onsubmit="return valida(this)" accept-charset="utf-8" action="javascript:aprifinestra()" target="_self" >
    <tr><td colspan="2"></td>
    </tr>
    <tr><th>NickName</th><td align="left"><input type="text" name="NickName" value="" class="input" maxlength="20" /></td></tr>
    <tr><th>Password</th><td align="left"><input type="password" name="PassWord" value="" class="input" maxlength="20" /></td></tr>
    <tr><th></th>
    <td align="left"><input type="submit" name="BI" value=""/></td></tr>
    <tr><th></th>
    <td class="link" align="left">Credenziali Smarrite</td></tr>
    </form>


    Come devo correggere lo script ?
    Grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.