Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it L'avatar di miwa78
    Registrato dal
    Jun 2010
    Messaggi
    14

    Help: Form con 4 select con differenti popolamenti

    Ecco il mio problema... Ho un form costituito da 4 select di cui :

    - la seconda si popola in base alla prima
    - la terza e' svincolata dalla prime due e permette di scegliere tra due link.

    Fin qui tutto bene.

    Il problema e' nato quando e' nata la necessita' di avere una select che dipendesse dalla terza ovvero che in base alla scelta della option aggiunga o no la quarta select.
    Cerco di spiegarmi meglio...

    Per il popolamento della seconda select ho usato questo script:
    http://www.giorgiotave.it/forum/scri...dinamiche.html

    Per la terza ho dovuto aggiungere all'inizio pagina questo javascript:
    codice:
    <script type="text/javascript">
    /**
    * I thing that this
    * way is much elegant
    * than document.forms[0].action
    * =document.forms[0].
    * selectbox.options[selectbox.selectedIndex].value;
    * @author Georgi Naumov
    */
    function changeAction(aForm,aValue)
    {
    if(aValue=="")
    return;
    aForm.setAttribute("action",aValue);
    }
    </script>
    E la terza select e' venuta cosi:
    codice:
    <select name="test" onchange="changeAction(this.form,this.value);">
               <option selected="selected">None</option>
               <option value="./current.php">Istant Usage </option>
               <option  value="storico.php?test=1">Historical</option>
     </select>
    <input type="insert" value="Insert">
    <input type="reset"  value="Reset">
    </form>
    Adesso vorrei che "se" venisse scelto come option "Historical", in automatico si aggiungesse un'altra select per inserire il range della week (From, to).
    qualcuno puo' aiutarmi?
    tks Miwa

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    corretto il titolo
    aggiunto il tag CODE per il codice
    (miwa78, leggi bene il regolamento di sezione, grazie)
    spostato in js


  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Il valore della option storico.php "Historical" e il relativo cambio action deve rimanere e funzionante?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it L'avatar di miwa78
    Registrato dal
    Jun 2010
    Messaggi
    14
    Ciao Cavicchiandrea,

    aggiungendo la nuova select (From To) la pagina storico.php in pratica verrebbe eliminata perche' la inglobberei qui. Difatti quella mi serviva per la selezione temporale delle settimane ma dovevo nuovamente riselezionare tutti i campi nella nuova pagina se la metto qui si velocizzerebbe di molto.

    Sapresti aiutarmi?
    tks Miwa

    P.S.
    Vincent, grazie! la leggero' e cerchero' di postare meglio le cose.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    <script type="text/javascript">
    /**
    * I thing that this
    * way is much elegant
    * than document.forms[0].action
    * =document.forms[0].
    * selectbox.options[selectbox.selectedIndex].value;
    * @author Georgi Naumov
    */
    function changeAction(aForm,aValue)
    {
    if(aValue=="")
    return;
    aForm.setAttribute("action",aValue);
    }
    function Abilita(stato){
    document.getElementById('FromTo').style.display=stato
    }
    </script>
    modifiche select
    codice:
    <select name="test" onchange="if(this.value=='attiva'){Abilita('block')}else{Abilita('none');changeAction(this.form,this.value);}">
               <option selected="selected">None</option>
               <option value="./current.php">Istant Usage </option>
               <option  value="attiva">Historical</option>
     </select>
    <select name="FromTo" style="display:none;" id="FromTo">
               <option selected="selected">None</option>
               <option value="......">......... </option>
               <option  value=".......">........</option>
     </select>
    <input type="insert" value="Insert">
    <input type="reset"  value="Reset">
    </form>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di miwa78
    Registrato dal
    Jun 2010
    Messaggi
    14
    Ciao Andrea,

    ho adattato la soluzione al mio script e ad parte qualche errore di "a capo" mi sono accorta d iaver detto una "cassanata" ovvero lo storico.php si, mi serve perche' deve fare le analisi scusami per questo mio errore...

    Ti posto lo script intero cosi' potrai visionare anche tu il risultato.

    codice:
    <HTML> 
    <HEAD> 
    
    <script type="text/javascript">
    /**
    * I thing that this
    * way is much elegant
    * than document.forms[0].action
    * =document.forms[0].
    * selectbox.options[selectbox.selectedIndex].value;
    * @author Georgi Naumov
    */
    
    function changeAction(aForm,aValue)
    {
    if(aValue=="")
    return;
    aForm.setAttribute("action",aValue);
    }
    function Abilita(stato){
    document.getElementById('From').style.display=stato
    document.getElementById('To').style.display=stato
    }
    </script>
    <BODY>
    
                    <form name="form" id="locali" method="POST" >
    
                    <script type="text/javascript">
                    var shipping = new Object()
                    shipping["mono"] = [{value:"casa1", text:"Casa Victar"},
                                        {value:"casa2", text:"Casa Vincenza"}];
    
                    shipping["bi"] = [{value:"casa3", text:"Casa Ester"},
                                      {value:"casa4", text:"Casa Trieste"},
                                      {value:"casa5", text:"Casa Trinacria"},
                                      {value:"all", text:"All"}];
    
    
                    function setCost(chooser) {
                        var newElem;
                        var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
                        var costChooser = chooser.form.elements["param"];
                        while (costChooser.options.length) {
                            costChooser.remove(0);
                        }
                        var choice = chooser.options[chooser.selectedIndex].value;
                        var db = shipping[choice];
                        newElem = document.createElement("option");
                        newElem.text = "Type: ";
                        newElem.value = "";
                        costChooser.add(newElem, where);
                        if (choice != "") {
                            for (var i = 0; i < db.length; i++) {
                                newElem = document.createElement("option");
                                newElem.text = db[i].text;
                                newElem.value = db[i].value;
                                costChooser.add(newElem, where);
                            }
                        }
                    }
    
                    </script>
    
                    <select name="vani" onchange="setCost(this)">
                            <option value="" selected="selected">Select a Home</option>
                            <option value="mono">Monolocale</option>
                            <option value="bi">Bilocale</option>
                    </select>
                    <select name="param" style="width:100px" onchange="this.form;">
                            <option value="" selected="selected">Select: </option>
                    </select>
    
    
                    
                    <script type="text/javascript">
                    function AddOpt(test)
                    {
                      /* conta il numero delle option nella select*/
                      numOption=document.getElementById('analisys').options.length;
                      /*indice dell'optione selezionata */
                      Optselezionato = document.getElementById('analisys').selectedIndex;
                      if(indice_selezionato>=2){
                         alert("* Historycal *");
                      }
                    }
                    </script>
    
    
                    <select name="page" id="analisys" style="width:100px" onchange="changeAction(this.form,this.value) && AddOpt() ;">
                            <option selected="selected">---</option>
                            <option value="./current.php?param=$param&vani=$vani">Istant Usage</option> 
                            <option value="./storico.php?test=1">Historical</option>
                    </select>
    
                   
                   <select name="test" onchange="if(this.value=='attiva'){Abilita('block')}else{Abilita('none');changeAction(this.form,this.value);}">
                            <option selected="selected">None</option>
                            <option value="./current.php?param=$param&vani=$vani">Istant Usage </option>
                            <option  value="attiva">Historical</option>
                   </select>
                   <?php
                   $cwk=shell_exec("/bin/date +%W");
                   ?>
                   From:
                   <select name="From" style="display:none;" id="From" onChange="cambia(window.document.form.From.options[selectedIndex].text,$cwk);">
                            <option selected="selected">---</option>
                            <?php
                            for ($i=1; $i<$cwk; $i++)
                                {
                                   echo("<option>$i</option>\n");
                                 }
                           ?>
                   </select>
                   To:
                   <select name="To" style="display:none;" id="To" onChange="cambia(window.document.form.To.options[selectedIndex].text,$cwk);"> >
                            <option>---</option>
                   </select>
    
    
                    <input type="submit" value="Submit">
                    <input type="reset"  value="Reset">
                    </form>
    </HEAD>
    </BODY>
    </HTML>
    Cosa ne pensi? Ho visto che From e To vanno a capo ma non capisco il perche' e va aggiunta la possibilita' di inviare a storico.php solo nel caso si attivi.

    grazie anticipatamente
    Miwa

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da miwa78
    ..
    Cosa ne pensi?
    Nulla
    Ho visto che From e To vanno a capo ma non capisco il perche'
    Ritengo sia un problema css
    e va aggiunta la possibilita' di inviare a storico.php solo nel caso si attivi.
    Cosa si dovrebbe attivare?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it L'avatar di miwa78
    Registrato dal
    Jun 2010
    Messaggi
    14
    Si dovrebbero attivare le select "From " e "To:".
    Nel caso in cui io voglia vedere la situazione attuale della settimana non ha senso avere la possibilitaà di scegliere il range, giusto? e quindi vorrei vedere i campi "from" e "to" solo se seleziono lo storico.

    Pensi mi sia espressa meglio?

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Il giusto �� comunque prova cosi
    codice:
      <select name="test" onchange="if(this.text='Historical'){Abilita('block');changeAction(this.form,this.value)}else{Abilita('none');changeAction(this.form,this.value);}">
                            <option selected="selected">None</option>
                            <option value="./current.php?param=$param&vani=$vani">Istant Usage </option>
                            <option  value="storico.php?test=1">Historical</option>
                   </select>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it L'avatar di miwa78
    Registrato dal
    Jun 2010
    Messaggi
    14
    Non mi funziona!
    Mi spiego nonostante l'Abilita, non fa lo switch block/none ed appare comunque la select "From To".
    Quale potrebbe essere il motivo? Come browser ho Mozilla.
    Grazie Miwa

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.