Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Passare variabili da popup

    Buongiorno a tutti,

    dovrei prelevare dei dati da un popup. Questo popup crea una sorta di form tabellare con su un'asse le taglie (S-M-L-XL) e sull'altro asse va a prendere dei codici di colori dal database. A seconda dell'articolo di cui è stato richiesto il popup possono variare il numero dei colori presenti, tutto viene pescato da database. Dall'unione dei due assi, vengono creati i relativi campi di input (vedi sotto).

    Detto ciò, per fare in modo che tutti i campi siano inseribili creo gli input così:
    codice:
    <td><center>"; print ($espandi[$i]); echo"</center></td>
    <td><input type='text' id='val_S_$espandi[$i]' name='val_S_$espandi[$i]' size='5'></td>  
    <td><input type='text' id='val_M_$espandi[$i]' name='val_M_$espandi[$i]' size='5'></td>  
    <td><input type='text' id='val_L_$espandi[$i]' name='val_L_$espandi[$i]' size='5'></td>  
    <td><input type='text' id='val_XL_$espandi[$i]' name='val_XL_$espandi[$i]' size='5'></td>  
    <td><input type='text' id='val_XXL_$espandi[$i]' name='val_XXL_$espandi[$i]' size='5'></td> 	 
    </tr>";
    La variabile $espandi prende i colori dal database e tramite un explode in PHP ottengo i vari colori.

    Detto ciò, vorrei passare tutte le variabili che verranno inserite (e ci tengo a sottolineare che io non so mai preventivamente e a priori quante variabili verranno inserite, come non so quanti campi di input verranno creati).

    Pensavo di "salvarle" in una sessione PHP, ma credo che per il passaggio debba affidarmi a JS.

    Ah altra cosa, l'utente, tornato alla pagina principale può decidere se aggiungere un altro articolo, quindi altro popup ed altro passaggio di variabili. In teoria penso sia una diversificazione da fare tramite PHP, però se avete soluzioni migliori, ditemi pure.

    In fine, mi servirebbe che le variabili venissero passate nel formato TAGLIA-COLORE;VARIABILE e cioè, facendo un esempio XL-GIALLO;50

    Mi sapete aiutare?

    Se non sono stato chiaro rimango a vs. disposizione

  2. #2
    dovresti fare una cosa tipo questa nel programma della popup:

    function passavalori()
    {
    window.opener.document.getElementById('variabilepr gmain').value = document.getElementById('val_XXL_valore').value;
    ecc..
    }

    inserire questo in un ciclo javascript dove rivela i nomi esatti dei campi id

  3. #3
    grazie per la risposta...

    domani provo, ma cosa intendi per il ciclo javascript che rivela gli id?

  4. #4
    per esempio il nome di questa variabile
    dovrebbe essere:
    val_XXL_valore[1]
    val_XXL_valore[2]
    ecc

    quindi come già detto devi fare:

    for (i=1;i<x;i++) {
    window.opener.document.getElementById('variabilepr gmain['+i+']').value = document.getElementById('val_XXL_valore['+i+']').value;
    qui le tue altre variabili...
    }

  5. #5
    Perfetto!
    Davvero molto gentile.

    Non appena ho l'opportunità provo...

  6. #6
    Nell'URL del popup passo una variabile dal nome "articolo" che poi utilizzo nel popup per fare la query ed estrarre i giusti colori.

    Posso integrare questo codice articolo nelle variabili JS?
    In modo da avere variabileprgmain['+i+']_CODICEARTICOLO ?

  7. #7
    puoi trasferire il valore dei campi identificati dall'id...
    con l'istruzione detta precedentemente se è una popup che la trasferisce
    al programma chiamante altrimenti nello stesso programma basta scrivere:
    document.getElementById('var1').value = document.getElementById('var2').value

    quindi nel caso hai una variabile php e la vuoi trasferire da un campo all'altro
    puoi fare:

    <input type="hidden" name="NOME" id="NOME" value="<? echo variabile ?>">
    e poi la trasferisci attraverso l'id

  8. #8
    Bene, ormai mi è tutto chiaro...

    l'unica cosa, le variabili nella pagina principale le ricevo tramite GET? come le ho disponibili?

    E soprattutto, vista la presenza di [+i+] devo creare un ciclo for anche nella pagina ricevente?

    Perdonami la niubbaggine..

  9. #9
    la pagina ricevente li riceverà automaticamente
    l'eventuale ciclo lo devi inserire solo nella pagina del popup

    dovresti fare prima qualche prova con due programmini semplici

    ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    Salve,
    ho provato il codice e funziuona.
    In questo modo mi trovo il risultato nella input della pagina madre.
    Ma se invece io vorrei solo riceverlo per poi effettuare dei controlli non visibili; faccio un esempio.

    La pagina madre mi apre il popup per l'inserimento di una password.
    L'utente inserisce la password nell'input del popup e digitando invio, il popup si chiude e la password viene inviata alla pagina madre. E' possibile?

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.