Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Problema su form

  1. #1

    Problema su form

    Salve a tutti,
    ho un form di questo tipo:

    codice:
    <form name="newentry" action="conferma.php" method="POST">
    <td>DOMICILIO(*)</td>
    <td><input type="text" name="dom" size="10"></td>
    <td>FACOLTA'(*)</td>
    <td> <select name="cl" size="1" tabindex="8">
                <?
    		  $fcont = file("../facolta.txt");
    		  foreach($fcont as $line){
    		  	echo "<option>$line</option>";
    		  }
        ?>
    </select> 
    </td>
    ........
    </form>

    Dovrei implementare questo meccanismo:
    nel caso in cui l'utente nel select denominato 'FACOLTà(*)',
    selezioni la voce "Informatica" allora di seguito mostro determinati campi del form altrimenti ne mostro altri.

    Come posso fare tutto ciò, cioè come faccio a conoscere quale sia la scelta fatta dall'utente nel precedente passo??

    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    devi farlo con javascript.

    nel tag aggiungi onchange="";

    e dentro ci metti la funzione javascript che modifica il resto della pagina.

    ciao

  3. #3
    Non ho ben capito come impostare il tutto
    e soprattutto come leggere la scelta effettuata nel select.

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    all'onchange del select chiami una funzione javascript che legga la scelta effettuata dall'utente, dopodichè puoi scegliere 2 metodi:

    scrivere il resto del form con javascript, oppure ricaricare la pagina passando una variabile in get che al momento della riscrittura del form tu userai per capire quali campi mostrare.

    ciao

  5. #5
    ok,
    ma mi sono imbattuto in un problemino,
    cioè dovrei settare una var php nella mia funzione javascript,
    ho provato così ma non funziona:

    if (document.newentry.cl.value == "INFORMATICA") { <?$isINFO=1?> }

    sai come posso risolvere??

    Grazie mille.

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non puoi, perchè il php viene processato dal server, mentre il javascript dal client.

    Ecco la situazione che ti proponevo, per settare una variabile devi richiamare la pagina.

    quindi potresti fare
    codice:
    if (document.newentry.cl.value == "INFORMATICA") { 
      location.replace("stessapagina.php?isInfo=1");
    }
    e nella pagina php

    codice:
    if(isset($_GET['isInfo']) && $_GET['isInfo']==1) {
     // comportati in un modo;
    } else {
     /* l'utente ha già cominciato a compilare e ha scelto  informatica, quindi comportati in un altro modo. */
    }
    ciao

  7. #7
    Capisco,
    ma ora non ho il problema che perdo tutte le informazioni
    inserite precedentemente alla chiamata della funzione?
    Sai mica come gestire anche questo e poi ti giuro
    abbiamo finito!

    Grazie.

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    anche qui le soluzioni sono 2

    1)
    non ricarichi la pagina, ma metti un div subito dopo il select con id="variableForm".

    poi dentro il javascript crei l'html che servirà a comporre il form, e lo metti in una variabile.

    e assegni il contenuto della variabile a
    codice:
    document.getElementById('variableForm').innerHTML = variabilecreata;
    in modo che il div venga compilato "onthefly".
    in tal caso però siamo OT su questo forum.
    2)
    all'onchange del select registri tutto ciò che è stato scelto in sessione, in modo da poter recuperare i dati tramite php una volta ricaricata la pagina.

    ciao

  9. #9
    Ti ringrazio moltissimo!

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.