Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310

    controllo multiplo su più tipi di campi: select, text, textarea,

    ho una pagina dove devono essere riempiti più tipi di campi:

    - select
    - text
    - textarea

    come si fa a controllare (con un unica funziona) se qualche campo è rimasto vuoto? Magari segnalando i campi vuoti in qualche maniera...

    ogni campo ha un nome descrittivo...

    ho provato con la ricerca, ma non sono riuscito a trovare quello che fa al mio caso..
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  2. #2
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    up
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Originariamente inviato da blekm
    up
    Questo potrebbe andare bene
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da cavicchiandrea
    Questo potrebbe andare bene
    ehm.. io vorrei che fosse obbligatoria anche la select, invece in questo caso non lo è.
    Se inserisco i primi due campi (nome & mail) funziona, non controlla la select..
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    questo funziona sulla base del esempio html
    codice:
    <html>
    <head>
    <script language="JavaScript">
    function controlla(){
    	//filtro email
    	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    	//setto i campi vuoti
    	var nome = "";
    	var email = "";
    	var hobby = "";
    	//Verifca campo nome
    	if(document.getElementById("nome").value==""){
    	/*Messaggio d'errore puo essere cambiato a piacere inserendo la fase tra le virgolette 
    	lasciando i caratteri \n*/
    		nome = "Inserisci il tuo nome\n";
    	//verica campo email
    	}if(document.getElementById("email").value==""){
    	/*Messaggio d'errore puo essere cambiato a piacere inserendo la fase tra le virgolette 
    	lasciando i caratteri \n*/
    	email = "Inserire un indirizzo email\n";
    	//Verifico che il campi emial sia corretto
    	}else if(!filter.test(document.getElementById("email").value)){
    	/*Messaggio d'errore puo essere cambiato a piacere inserendo la fase tra le virgolette 
    	lasciando i caratteri \n*/
    	email = "Inserire un indirizzo email valido\n";
    	}
    	//verifico select selezionata
    	if(document.getElementById("hobby").options.selectedIndex == 0){
    	/*Messaggio d'errore puo essere cambiato a piacere inserendo la fase tra le virgolette 
    	lasciando i caratteri \n*/
    		hobby = "Seleziona un hobby\n";
    	}
    	//Verifico che i campi siano vuoti
    	if((nome!="")||(email!="")||(hobby!="")){
    	//Imposto un messaggio inziale
    	var Msg = "Attenzione!!! I campi sottostanti sono errati o mancati\n\n";
    	//mostro i messaggi d'errore
    		alert(Msg+nome+email+hobby);
    	
    		return false;
    	}
    }
    
    </script>
    </head>
    </body>
    <form action="" method="post" name="modulo" id="modulo" onSubmit="return controlla()">
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
        <tr>
          <td>Nome </td>
          <td><input name="nome" type="text" id="nome"></td>
        </tr>
        <tr>
          <td>Email</td>
          <td><input name="email" type="text" id="email"></td>
        </tr>
        <tr>
          <td>Hobby</td>
          <td><select name="hobby" id="hobby">
            <option value="Seleziona" selected>Seleziona</option>
            <option value="Internet">Internet</option>
            <option value="Modelissimo">Modellismo</option>
            <option value="Figurine">Figurine</option>
            <option value="Sport">Sport</option>
          </select>
          </td>
        </tr>
        <tr>
          <td></td>
          <td><input type="submit" name="Submit3" value="Invia"></td>
        </tr>
      </table>
      </form>
    </html>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    capito, userò questo al massimo.

    La mia domanda era più generica, siccome mi ritrovo con una marea di campi, non esiste nessuna maniera di fare un controllo generico su tutti i campi? Magari con un ciclo?

    Per evitare di scrivere lo stesso controllo per 20 campi..

    se una soluzione cosi non fosse possibile, userò la soluzione da te consigliata.
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Se la domanda fosse stata esposta meglio si perdeva meno tempo entrambi.
    A grandi linee una cosa del genere fa quello che cerchi poi va implementata.
    codice:
    <html>
    <head>
    <script language="JavaScript">
    function controlla(){
    	var Text = document.getElementsByTagName("input")
    //ciclo che conta tutti i campi input
    	for(i=0; i<Text.length; i++)
    	alert(i);
    	var Tendine = document.getElementsByTagName("select")
    //ciclo che conta tutti i campi select
    	for(y=0; y<Tendine.length; y++)
    	alert(y);
    	var Texarea = document.getElementsByTagName("textarea")
    //ciclo che conta tutte le textarea
    	for(j=0; j<Texarea.length; j++)
    	alert(j);
    	}
    
    
    </script>
    </head>
    </body>
    <form action="" method="post" name="modulo" id="modulo" onSubmit="return controlla()">
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
        <tr>
          <td>Nome </td>
          <td><input name="nome" type="text" id="nome"></td>
        </tr>
        <tr>
          <td>Email</td>
          <td><input name="email" type="text" id="email"></td>
        </tr>
        <tr>
          <td>Hobby</td>
          <td><select name="hobby" id="hobby">
            <option value="Seleziona" selected>Seleziona</option>
            <option value="Internet">Internet</option>
            <option value="Modelissimo">Modellismo</option>
            <option value="Figurine">Figurine</option>
            <option value="Sport">Sport</option>
          </select>      </td>
        </tr>
        <tr>
          <td>Testo</td>
          <td><textarea name="testo" id="testo"></textarea>
          <textarea name="testo2" id="testo2"></textarea></td>
        </tr>
        <tr>
          <td></td>
          <td><input type="submit" name="Submit3" value="Invia"></td>
        </tr>
      </table>
    </form>
    </html>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da cavicchiandrea
    Se la domanda fosse stata esposta meglio si perdeva meno tempo entrambi.
    A grandi linee una cosa del genere fa quello che cerchi poi va implementata.
    hai ragione, dovevo chiarire questo punto subito.

    Grazie mille, vedrò di essere più chiaro la prossima volta.
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

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.