Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    48

    Come inserire dei dati in due form a partire da select-option?

    Salve a voi.

    Ho un problemino tra select e form.

    Codice PHP:
    <form name="NOMEFORM" action="PAGINA DA APRIRE" method="Post">

    <select name="NOMESELECT" onChange="document.NOMEFORM.NOMEINPUT1.value=document.NOMEFORM.NOMESELECT.value";>

    <option value="DEFAULT" selected="selected" onClick="document.invio.NOMEINPUT2.value=document.NOMEFORM.NOMESELECT.value";>Scegli</option>

    ...codice php...

    <option value="<?=$rs["ESEMPIO"?>" onClick="document.NOMEFORM.NOMEINPUT2.action=prova;";>TESTO</option>

    </select>


            <input type="text" Name="NOMEINPUT1" value="">
            <input type="text" name="NOMEINPUT2" value="">

            <input type="submit" name="AZIONE" value="AZIONE">
    </form>

    Obiettivo:

    input NOMEINPUT1 con value "value dell'option" --> raggiunto
    input NOMEINPUT2 con value "1 valore in relazione al value dell'option" -->


    Allora, l'onChange permette di mettere nell'input rinominato NOMEINPUT1 il risultato di <?=$rs["ESEMPIO"] ?> scaturito, e fin qui tutto OK.

    il primo option mi mette nell'input NOMEINPUT2 il valore DEFAULT che gli indico io, anche se solo come prova. Il problema sorge nel cambiare:

    Codice PHP:
    document.invio.NOMEINPUT2.value=document.NOMEFORM.NOMESELECT.value 
    in modo tale da immettere un valore diverso che il value.


    Leggendo sul sito mi sono imbattuto in:

    Posso ri-scrivere dinamicamente la action di un form?

    Si. La action è un elemento di lettura e scrittura, quindi puoi farlo.
    E' sufficiente impostare la action del form con il nuovo valore. Cio

    document.forms['nomeForm'].action=http://www.html.it;
    al che ho provato a fare questo:

    Codice PHP:
    document.NOMEFORM.NOMEINPUT2.action=prova
    (precedentemente anche: document.forms['NOMEFORM'].action=prova;)


    Unico risultato... non ottenere risultati.

    Logicamente, se portassi lo stesso codice del primo option, riuscirei anche li ad inserire il dato, ma rimarrebbe sempre lo stesso del value.


    Esempio "pratico"

    il value diventa un nome preso da una tabella MySql da inserire in INPUTNOME1, mentre in INPUTNOME2 vorrei mettere il cognome associato al nome.




    Premetto che non voglio far realmente nome-cognome ma penso sia in grado di far capire l'idea, ossia --> prendo dei dati da una tabella, li metto nelle option ed in base alla scelta ricavo nei form la scelta ed un dato associato ad essa.



    Spero che dopo oltre 17 ore dinnanzi al pc sia comunque stato in grado di spiegarvi il problema

    Grazie già da ora

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: Come inserire dei dati in due form a partire da select-option?

    Originariamente inviato da Shatka
    Spero che dopo oltre 17 ore dinnanzi al pc sia comunque stato in grado di spiegarvi il problema
    no, sei riuscito a confondere molto le idee, almeno ad una lettura non troppo attenta
    tra l' altro te le sei confuse da solo in quanto questo

    document.NOMEFORM.NOMEINPUT2.action=prova;

    non puo' stare ne' in cielo ne' in terra

    - onclick su un' option non funziona su IE, evita
    - se sei in un elemento di un form fai riferimento al form con this.form, non c'e' bisogno di prenderla alla lontana

    deve cambiare l' action? questo
    (precedentemente anche: document.forms['NOMEFORM'].action=prova
    funzionerebbe, a patto di passare una stringa
    ...action='prova.htm'

    tutto il resto, almeno ad una prima lettura non e' chiaro
    ciao

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Come inserire dei dati in due form a partire da select-option?

    Originariamente inviato da Shatka
    Spero che dopo oltre 17 ore dinnanzi al pc sia comunque stato in grado di spiegarvi il problema
    Diciassette ore per scrivere il post, VVoVe: si di giri ne hai fatti ma mi sembrano un tantino molte lo stesso (battute a parte)

    Forse e dico forse da quel che ho capito vuole popolare due campi input in base alla scelta della option.
    Qualora fosse cosi hai due strade:

    1) Possibilità ricarichi la pagina con la scelta del tipo:

    codice:
    <select name="NOMESELECT" onChange="location.href='?userID='+this.options[this.selectedIndex].value";>
    <option value="DEFAULT" selected="selected">Scegli</option>
    etc....
    </select>
    Ad inzio pagina inserisci il php che esegue la query di ricerca/filtro
    <?qui mettiamo la query?>
    e stampi e valori resi nei rispettivi input-text.

    2) Possibilità utilizzo di ajax ottima guida (senza offesa) ma credo sia un po troppo per te, ma puoi sempre studiartela con calma.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    48
    Nessuna offesa Cavicchi, altrimenti non avrei certamente scritto qui per un problema simile

    (le 17 ore erano per vari lavori )


    Proverò e farò sapere ad entrambi, e Cavicchi ha centrato il mio intento.

    Grazie in ogni caso

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    48
    Non ho provato le vostre idee, essendo che dopo una sana dormita ho realizzato che potevo procedere da php.

    In ogni caso vi ringrazio nuovamente

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.