Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    148

    Rendere obbligatorio un campo menu, come faccio?

    Ho la necessità di rendere questo elenco/menu come campo obbligatorio.
    Il problema e' che all'inizio come valore predefinito metto la parola Scegli.
    Ora anche se non è selezionato il valore, il modulo parte.
    Cosa devo aggiungere affinchè la parola "Scegli" non venga riconosciuta come un valore?

    Ecco il codice:

    codice:
    <select name="select">
    <option selected>Scegli</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select>

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi fare cosi.... per il lato client, ma devi anche fare il controllo lato server.
    codice:
    <script language="JavaScript" type="text/javascript">
    <!--
    function controlla() {
     if (document.mioform.select1.value == "Scegli") {
      alert('campo obbligatorio');
      return false;
     }
     return true;
    }
    //-->
    </script>
    
    ...
    <form name="mioform" action="pippo.php" method="post" onsubmit="return controlla()">
    ...
    <select name="select1">
    <option selected>Scegli</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select>
    <input type="submit" value="invia">
    </form>
    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 bannato
    Registrato dal
    Apr 2005
    Messaggi
    148
    Originariamente inviato da badaze
    Puoi fare cosi.... per il lato client, ma devi anche fare il controllo lato server.
    codice:
    <script language="JavaScript" type="text/javascript">
    <!--
    function controlla() {
     if (document.mioform.select1.value == "Scegli") {
      alert('campo obbligatorio');
      return false;
     }
     return true;
    }
    //-->
    </script>
    
    ...
    <form name="mioform" action="pippo.php" method="post" onsubmit="return controlla()">
    ...
    <select name="select1">
    <option selected>Scegli</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select>
    <input type="submit" value="invia">
    </form>
    si il javascript lo usavo, ma per quello che mi serve non e' efficace...
    Sto facendo i controlli direttamente in php, solo che la parola scegli me la legge come un valore inserito nel campo, mentre io non voglio questo...

  4. #4
    codice:
    <select name="select">
    <option selected value="0">Scegli</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select>
    
    
    
    <?php
    if ($_POST['select'] == 0)
        echo "Selezionare la tendina";
    else echo "OK";
    ?>


  5. #5
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    148
    Originariamente inviato da dinucciarturo
    codice:
    <select name="select">
    <option selected value="0">Scegli</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select>
    
    
    
    <?php
    if ($_POST['select'] == 0)
        echo "Selezionare la tendina";
    else echo "OK";
    ?>

    la pagina del form e' in html e la pagina dopo è in php.
    Ho messo il form come dici tu, poi il codice php l'ho messo nella pagina dopo nella pagina php, ma lo stesso fa partire il form se non viene compilato il campo...

  6. #6
    e vabbè! certo la pagina deve andare avanti affinchè le variabili siano create! altrimenti devi unase java-script...

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da Meta-tag
    la pagina del form e' in html e la pagina dopo è in php.
    Ho messo il form come dici tu, poi il codice php l'ho messo nella pagina dopo nella pagina php, ma lo stesso fa partire il form se non viene compilato il campo...
    Io di solito uso la stessa pagina php per l'immissione ed il controllo.

    file : test2191.php

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <style type="text/css">
    <!--
    .error {background-color:yellow}
    -->
    </style>
    
    </head>
    <body>
    <? 
    function datiOk() {
     GLOBAL $errorArray;
     $ok = true;
     if ($_POST['campo1'] == "") {
      $errorArray['campo1'] = "error";
    	$ok = false;
     }
     if ($_POST['campo2'] == "") {
      $errorArray['campo2'] = "error";
    	$ok = false;	
     }
     if ($_POST['campo3'] != "si") {
      $errorArray['campo3'] = "error";
    	$ok = false;	
     } 
     return $ok;
    } // function controlla()
    
    function getValue($postVar) {
     if (isset($_POST[$postVar])) {
      return $_POST[$postVar];
     }
     return "";
    }
    
    //--------- Array di campi errati
    $errorArray = array();
    $errorArray['campo1'] = "";
    $errorArray['campo2'] = "";
    $errorArray['campo3'] = "";
    //
    if (isset($_POST['submit'])) {
     if ($_POST['submit'] == "Invia") {
      if (datiOk()) {
       //------------- script per aggiornare i dati
     	 exit;
      }
     }
    }
    ?>
    <form action="test2191.php" method="post">
     Campo1
     <input type="text" name="campo1" class="<? print $errorArray['campo1']=="error" ? "error" : "" ?>" 
      value="<? print getValue('campo1') ?>">
    
     Campo2
     <input type="text" name="campo2" class="<? print $errorArray['campo2']=="error" ? "error" : "" ?>" 
      value="<? print getValue('campo2') ?>">
    
     Campo3
     <input type="text" name="campo3" class="<? print $errorArray['campo3']=="error" ? "error" : "" ?>" 
      value="<? print getValue('campo3') ?>">devi rispondere si o no
     
     <input type="submit" value="Invia" name="submit">
    </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

  8. #8
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    148
    Originariamente inviato da dinucciarturo
    e vabbè! certo la pagina deve andare avanti affinchè le variabili siano create! altrimenti devi unase java-script...
    e quindi? come mai non mi da l'errore??

  9. #9
    Originariamente inviato da Meta-tag
    e quindi? come mai non mi da l'errore??

    eee...booo, prova a stampare la variabile vedi se viene creata!

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.