Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    52

    campo oblligatorio tramite selezione ora

    buon giorno
    rieccomi ancora qui con quesito, oh la necessita di far diventare un campo obbligatorio se l'ora selezione e tra le 21 e le 7 io la selezione ora lo fatta in questo modo

    codice:
    if($tipotour==1){
    
        echo"<tr><td width=\"150\">Ora *</td><td>";
        echo"<select name=\"ora\">";
        for($i=0;$i<=23;$i++){
            echo"<option value=\"$i\">$i</option>";    
        }
        echo"</select> : ";
        echo"<select name=\"minuti\">";
        echo"<option value=\"00\">00</option>";
        echo"<option value=\"30\">30</option>";    
        echo"</select>";
    }
    ora io dovrei far diventare oobbligatorio un secondo campo questo che vedete sotto tra le ore 21 e le 7 se il campo ora viene selezionata l' ora tra le 21 el e7 deve essere obbligatorio , invece tra le 8 e le 20 non obbligatorio

    codice:
    if($tipotour==1){
    
        echo"<tr><td width=\"150\">supplemento*</td><td>";
        echo"</td></tr>"; 
        echo"<tr><td width=\"150\">"._notesupplemento." *</td><td>";  
        echo"
    <tr id=\"singole\" >
    <td width=150>Singole</td>
    <td><select name=\"singole\" onchange=\"controllacamere()\" id=\"singoleselect\"><option>0</option><option>1</option></select> (supplemento <b>$supplsingola euro</b>)</td>
    </tr>
    ";
    echo"    
    
    }
    qualche idea in merito
    grazie

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quando fai la scelta, la pagina è già stata generata. Per fare quello che vuoi devi usare js.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    52
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Quando fai la scelta, la pagina è già stata generata. Per fare quello che vuoi devi usare js.
    ciao scusa mi faresti un esempio con js pultroppo il js non lo conosco bene .
    grazie

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ecco un esempio. Il select "Supplemento" viene aggiornato in automatico.

    Ricorda che i controlli js possono essere bypassiti e che devi anche fare i controlli di validità dei dati con php prima di salvarli.

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function controlla() {
     //---- Valori dei select
     xora = document.getElementById('ora').value;
     xmin = document.getElementById('minuti').value;
     
     //---- Ora non settata
     if (xora == '--') {
      alert("Immettere l'ora per favore");
     //---- Errore -> disabilito il submit se ho premuto Invio tornando "false"
      return false;
     }  //  if (xora == '--') 
     //---- conversione in numeri
     ora  = parseInt(xora);
     min  = parseInt(xmin);
     
     //---- setto "Con supplemento" o "Senza supplemento"
     if ((ora >=21 || ora <7) || (ora == 7 && min == 0)) {
       //---- Con supplemento
       document.getElementById('supplemento').value = 1;
     } else { 
       //---- Senza supplemento
       document.getElementById('supplemento').value = 0;
     } // if ((ora >=21 || ora <7) || (ora == 7 && min == 0))
      
     //---- Nessun errore -> abilito il submit se ho premuto Invio tornando "true"
     return true;
    } // function controlla() 
    //-->
    </script>
    </head>
    <body>
    <form action="convalida.php" method="post" onsubmit="return controlla();">
    <table summary="">
    <tr>
      <td width="150">Ora *</td></td>
      <td>
       <select name="ora" id="ora" onchange="controlla();">
      <option value="--">--</option>    
       <?php  
        
    for($i=0;$i<=23;$i++){        
         echo
    "<option value=\"$i\">$i</option>\n";        
        }    
       
    ?>
      </select>
      <select name="minuti" id="minuti" onchange="controlla();">;    
        <option value="00">00</option>
        <option value="30">30</option>       
      </select>  
    </tr>
    <tr>
     <td>
     Supplemento :
     </td>
      <td>
       <select id="supplemento" onchange="controlla();">
        <option value="0">Senza supplemento</option>
        <option value="1">Con supplemento</option>
       </select>
     </td>
     <td>
     * Un supplemento viene richiesto tra dalle 21 fino alle 7.
     </td>
    </tr>
    </table>
    <input type="submit" name="invio" value="Invio" />
    </form>
    </body>
    </html
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    52
    ciao
    alla faccia 4 righe io lo fatta in maniera meno complicata e x ora sembra funzionare

    codice:
    $(document).ready(function() {  
      $('#mioo').change(function() {
        var v = $(this).val();
        if(v>=20 || v<=7 ){
          $("#inp1").removeAttr("disabled");
        } else {
          $("#inp1").val(""); //serve se vuoi svuotare l'input di testo
          $("#inp1").attr("disabled", "disabled");
        }
      });
    });
    questo mio id #mioo pesca la selct ora
    agiungo questo
    codice:
    disabled="disabled" id="inp1"
    nella select che devo controllare in questo modo se l'ora e tra le 20 /7 il campo si abilta e deve essere cliccato altrimenti non si prosegue.

    magari il mio code non e pulito ma funziona
    che ne dici?
    comunque grazie x il tuo esempio

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non conosci js ma conosci jquery che strano.... ricordatelo in futuro prima di chiedere esempi.
    Se funziona va bene sia in js che jquery l'unico appunto e se usi jquery solo per quel controllo è assurdo.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da conti Visualizza il messaggio
    ciao
    alla faccia 4 righe io lo fatta in maniera meno complicata e x ora sembra funzionare

    codice:
    $(document).ready(function() {  
      $('#mioo').change(function() {
        var v = $(this).val();
        if(v>=20 || v<=7 ){
          $("#inp1").removeAttr("disabled");
        } else {
          $("#inp1").val(""); //serve se vuoi svuotare l'input di testo
          $("#inp1").attr("disabled", "disabled");
        }
      });
    });
    questo mio id #mioo pesca la selct ora
    agiungo questo
    codice:
    disabled="disabled" id="inp1"
    nella select che devo controllare in questo modo se l'ora e tra le 20 /7 il campo si abilta e deve essere cliccato altrimenti non si prosegue.

    magari il mio code non e pulito ma funziona
    che ne dici?
    comunque grazie x il tuo esempio
    Perché obbligare a fare cliccare quando si tratta di una regola di gestione che si puo' abilitare o meno in automatico ?

    alla faccia 4 righe io lo fatta in maniera meno complicata e x ora sembra funzionare
    Di solito quando uno chiede aiuto in questo forum gli si aiuta anche facendo esempi didattici per farlo progredire.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Non conosci js ma conosci jquery che strano.... ricordatelo in futuro prima di chiedere esempi.
    Se funziona va bene sia in js che jquery l'unico appunto e se usi jquery solo per quel controllo è assurdo.
    In effetti è strano. È il primo che vedo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.