Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    14

    Campi a comparsa dinamici

    Ciao a tutti,

    vorrei realizzare un form dinamico per la compilazione guidata di un’offerta economica.

    Mi spiego meglio, l’utente dovrebbe scegliere un singolo prodotto (tra un totale di 7-8 voci) dal menu a tendina di un campo select ed in base alla scelta veder comparire un altro campo select con altre opzioni e così via fino a definire tutte le specifiche del prodotto passo per passo.

    Come fare?

    Grazie.

  2. #2
    Non basta usare php...devi integrarlo, con javascript per esempio!

  3. #3
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, utilizza ajax, in rete trovi parecchia documentazione e script già fatti che faranno sicuramente al caso tuo

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    14
    non è possibile evitare di usare Ajax utilizzando solo PHP?

  5. #5
    Originariamente inviato da zorilla
    non è possibile evitare di usare Ajax utilizzando solo PHP?
    Ciao,
    certo che puoi anche se non è proprio il massimo per quanto riguarda le prestazione (per non parlare dello stile e della presentazione del sito)

    però se a te non interessano questi aspetti puoi benissimo fare così:

    creai un form

    con un campo select (<select name="seluno">) sempre visibile
    e un altro campo select (<select name="seldue">) che invece viene scritto solo se nel caso
    $_POST['sel1'] esista

    Codice PHP:
    <FORM action="#" method="POST">
    <SELECT name="sel1">
    <option value="1" <?PHP if (isset($_POST['seluno']) $$ $_POST['seluno']==1   
    echo 'SELECTED';?>  >prodotto 1
    <option value="2" <?PHP if (isset($_POST['seluno']) $$ $_POST['seluno']==2
    echo 'SELECTED';?>  >prodotto 2
    ....
    </SELECT>

    <?PHP
    if (isset($_POST['seluno'])
    {
       echo 
    '<SELECT name="seldue">'
       
    // qui connetti al db e leggi SELECTblabla FROM tabella WHERE blablabla=$_POST['seluno'];  
      
    while ($row=mysql_fetch_array)
      {
        echo 
    '<OPTION value="'.$row['bla']'">'.$row['blabla'];
      }
      echo 
    '</SELECT>';
    }

    ?>

    </FORM>
    Insomma, ora l'ho butatto giù in due minuti...cmq il concetto spero sia chiaro!

  6. #6
    Sinceramente non capisco come possa funzionare!
    devi fare un refresh della pagina altrimenti come fai a vedere se seluno è settato??? (isset($_POST['seluno'])).
    Scusa ma io non c'ho capito proprio niente ma se zorilla ha capito, no problem!!!

  7. #7
    Ciao Saretta,

    codice:
    <FORM action="#" method="POST">
    significa che quando fai il submit del form i dati in POST vengono spediti alla stessa pagina che contiene il form (quindi ricaricandola e facendo trovare settato $_POST['seluno'])
    A quel punto trovando settato $_POST['seluno'] entrerà nell'IF e farà vedere anche il codice html per la seconda select...

    ti torna ora?

    ...come dicevo è una tecnica rozza e niente affatto elegante o performante ma funziona perfettamente...


  8. #8
    Grazie...questa cosa del cancelletto nell'action del form non la sapevo!!!
    Proverò ad utilizzarla in una cosa simile che con js non mi funziona e se trovo problemi magari ti chiedo aiuto!!
    Grazie ancora

  9. #9
    Va bene,
    aggiungo solo che la maniera corretta di procedere sarebbe
    codice:
    <FORM action="nome_della_stessa_pagina_che_contiene_il_form.php" method="POST">
    Io nell'esempio ho usato action="#" solo per comodità non conoscendo il nome della pagina di zorilla e non volendo complicare le cose...

  10. #10
    ah ok
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.