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

    form select dinamica -errore nel passaggio di un parametro-

    Ho un problema, ho creato una form con una select dinamica, prendendo i dati da javascript.
    Una volta compilata dovrebbe inviare i dati ad una pagina php che fara' poi qualche query ad un DB.
    Peccato che proprio il dato (slot) selezionato dalla select dinamica viene mandato in post come numero intero anziche' come stringa che rappresenta l'ora.
    Posto il codice,
    ringrazio in anticipo chiunque mi possa aiutare

    codice:
    <script type="text/javascript">
    var dati = new Object() 
    dati["2010-06-26"] = [ {value:"0", text:"08:00:00"} ];
    dati["2010-06-27"] = [ {value:"1", text:"08:20:00"}, {value:"2", text:"08:00:00"} ];
    dati["2010-06-28"] = [ {value:"3", text:"08:20:00"} ];
    dati["2010-08-28"] = [ {value:"4", text:"21:20:00"} ];
    
    function setSlot(chooser) {
    	var newElem;
    	var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 :	null; 
    	var slotChooser = chooser.form.elements["slot"];
    	while (slotChooser.options.length) {
    		slotChooser.remove(0);
    	}
    	var choice = chooser.options[chooser.selectedIndex].value;
    	var db = dati[choice];
    	newElem = document.createElement("option");
    	newElem.text = "seleziona uno slot:";
    	newElem.value = "";
    	slotChooser.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;
    			slotChooser.add(newElem, where);
    		}
    	}
    }
      
    
    </script>
    <script language="JavaScript" src="gen_validatorv31.js" type="text/javascript"></script><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    
    <html lang="it">
        <head>
            <title>
                Progetto Database Aeroporto
            </title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
            <link rel="stylesheet" type="text/css" href="reset.css">
            <link rel="stylesheet" type="text/css" href="default.css">
    
    <link rel="stylesheet" type="text/css" href="form.css">
            <script src="contrib.js" type="text/javascript"></script>
            <script src="default.js" type="text/javascript"></script>
        </head>
        <body>
            <noscript>
            <div id="notification_js" class="notification_bar">
                Non hai javascript abilitato, per cui la maggior parte delle funzioni non funzioneranno. Clicca qui per ottenere informazioni su come abilitarlo.
            </div></noscript>
    
            <div id="container">
    
                <div id="top">
                    <div id="inner_top">
                        <span id="logo"></span><span id="top_links"><span class="big_spacing">Manuale Utente Manuale tecnico</span></span><span id="login_info">
    
    marco [ Log out ]
    </span>
    
                    </div>
    
                </div>
                <div id="content">
    
    
    
    <h1>Inserimento volo</h1>
    
    
    <table align="center" width="600" cellpadding="2" cellspacing="2">
    <form action="inserimento_volo.php" method="post" name="MyForm">
    
      <tr>
        <td>Arrivo/Partenza</td>
    
        <td><select id="ap" name="ap" style="width: 4em;">
        <option> A </option>
    	<option> P </option>
      </tr>
      </select>
    	<tr>
        <td>Aeroporto</td>
    
        <td><select id="aeroporto" name="aeroporto" style="width: 15em;"><option>Bergamo Orio</option><option>Milano Linate</option><option>Milano Malpensa</option><option>Roma Fiumicino</option></select></td>
          </tr>
    <tr>
    <tr></tr>
    <td>Data:</td>
    <td><select name="data" onchange="setSlot(this)" style="width: 10em;">
    <option value="" selected="selected">data</option>
    <option value="2010-06-26">2010-06-26</option>
    
    <option value="2010-06-27">2010-06-27</option>
    <option value="2010-06-27">2010-06-27</option>
    <option value="2010-06-28">2010-06-28</option>
    <option value="2010-08-28">2010-08-28</option>
    
    </select>
    </td>
    </tr>
    </tr>
    <td>Slot</td>
    <td><select id="slot" name="slot" ><option value="" selected="selected" style="width: 10em;">Seleziona uno slot</option>
    
    </select>
    </tr>
    </select></td>
      </tr><tr>
    <td>Durata</td>
    <td><select id="durata" name="durata" style="width: 4em;"><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option></select></td>
    
    </tr>
    <tr>
    <td><input type="submit" value="Invia dati" onsubmit="inserisci_volo();"></input></td>
    </tr>
    </form>
    </table><script language="JavaScript" type="text/javascript">
     var frmvalidator = new Validator("MyForm");
     frmvalidator.addValidation("ap","req","Deve essere definito se il volo parte o arriva");
     frmvalidator.addValidation("aeroporto","req", "Va scelto il nome dell'aeroporto");
     frmvalidator.addValidation("slot","req", "Scegliere uno slot");
     
     frmvalidator.addValidation("data","req", "Scegliere una data" );
     frmvalidator.addValidation("durata","req", "Scegliere la durata del volo");
    </script>
                </div>
                <div id="bottom">
                    <hr id="bottom_separator">
                    <p id="perf_info">
    Pagina generata in 0.0399 secondi con 0 query.
                    </p>
    
                    <p id="version">
                        Versione: Gesa 1.0.0
                    </p>
                    <p id="copyright">
                        &copy; 2010 - All rights reserved
                    </p>
                </div>
            </div>
        </body>
    
    </html>

  2. #2
    nessuno mi puo' aiutare?

  3. #3
    hai due soluzioni:
    - o imposti il parametro value dell'option con lo stesso valore che visualizzi in output
    codice:
    dati["2010-06-26"] = [ {value:"08:00:00", text:"08:00:00"} ];
    dati["2010-06-27"] = [ {value:"08:20:00", text:"08:20:00"}, {value:"08:00:00", text:"08:00:00"} ];
    dati["2010-06-28"] = [ {value:"08:20:00", text:"08:20:00"} ];
    dati["2010-08-28"] = [ {value:"21:20:00", text:"21:20:00"} ];
    - lato php, recuperi il valore originale mediante una tabella di transcodifica
    Codice PHP:
    switch ($slot)
    {
       case 
    0:
          
    $ora "08:00:00";
          break;
       case 
    1:
          
    $ora "08:20:00";
          break;
       case 
    2:
          
    $ora "08:00:00";
          break;
       default:
          echo 
    "Errore";
    ...


  4. #4
    grazie mille google!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.