• User Newbie

    validazione form

    Ciao ragazzio volevo sottoporvi un mio problema...
    io sto lavorando con php ma ho trovato su internet un modo per verificarei i dai all'interno di un form con il javascript.
    c'è unproblema io nn so quasi niente di javascript, io riesco a far funzionare lo script che mi controllo che ho riempito dei campi e se questo nn è avvenuto mi avverte con un pop up che mi dice che nn sono stati compilati.
    questo è lo script...

    <script language="JavaScript">
    <!--
    function formCheck(formobj){
    // Enter name of mandatory fields
    var fieldRequired = Array("Cognome", "Nome", "Indirizzo");
    // Enter field description to appear in the dialog box
    var fieldDescription = Array("Cognome", "Nome", "Indirizzo");
    // dialog message
    var alertMsg = "Completare prego i seguenti campi: :\n";

    var l_Msg = alertMsg.length;
    
    for (var i = 0; i < fieldRequired.length; i++){
    	var obj = formobj.elements[fieldRequired*];
    	if (obj){
    		switch(obj.type){
    		case "select-one":
    			if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
    				alertMsg += " - " + fieldDescription* + "\n";
    			}
    			break;
    		case "select-multiple":
    			if (obj.selectedIndex == -1){
    				alertMsg += " - " + fieldDescription* + "\n";
    			}
    			break;
    		case "text":
    		case "textarea":
    			if (obj.value == "" || obj.value == null){
    				alertMsg += " - " + fieldDescription* + "\n";
    			}
    			break;
    		default:
    		}
    		if (obj.type == undefined){
    			var blnchecked = false;
    			for (var j = 0; j < obj.length; j++){
    				if (obj[j].checked){
    					blnchecked = true;
    				}
    			}
    			if (!blnchecked){
    				alertMsg += " - " + fieldDescription* + "\n";
    			}
    		}
    	}
    }
    
    if (alertMsg.length == l_Msg){
    	return true;
    }else{
    	alert(alertMsg);
    	return false;
    }
    

    }
    // -->
    </script>

    <form method="post" action="#" onsubmit="return formCheck(this);">
    <input name="Cognome" type="text" id="Cognome" value=""/>
    <input name="Nome" type="text" id="Cognome" value=""/>
    <input name="Indirizzo" type="text" id="Cognome" value=""/>
    <input name="Cap" type="text" id="Cognome" value=""/>
    <form>

    io vorrei però controllre anche se sono stati inseriri i dati correttamente.
    per fare il controllo utilizzo un'altro script o utilizzo lo stesso di prima.
    mi occorrerebbe verificare che nel campo di testo "cognome,nome" comparissero solo lettere e che il campo "cap" fosse di soli numeri.

    spero potrete darmi una mano vi ringrazio in anticipo

    p.s. se nn i chiedo molto dovrei anche controllare l'inserimento di una targa automobistica
    quindi che sia scritta con 2 lettere poi 3 numeri e infine 2 lettere
    grazie ancora


  • User Attivo

    Stasera non avevo niente da fare...

    [HTML]
    <script language="javascript">
    function controlla_form()
    {
    var errore='';
    if (document.getElementById('nome').value==''){errore='Inserisci il campo nome\n'}
    if (document.getElementById('cognome').value==''){errore=errore+'Inserisci il cognome nome\n'}
    if (document.getElementById('indirizzo').value==''){errore=errore+'Inserisci il indirizzo nome\n'}
    if (document.getElementById('cap').value==''){errore=errore+'Inserisci il cap nome\n'}

    if (errore!=''){
    alert(errore); return false
    }
    else
    {
    isNumber = /^\d+$/;
        if (!document.getElementById('cap').value.match(isNumber)) {
        alert ("Inserire solo numeri nel campo CAP");
        
        return false;
        
        }
        
    isLetters = /^[A-Za-z]+$/;
        if (!document.getElementById('nome').value.match(isLetters)) {
        alert ("Inserire solo lettere nel campo NOME");
        
        return false;
        
        }
        
        if (!document.getElementById('cognome').value.match(isLetters)) {
        alert ("Inserire solo lettere nel campo COGNOME");
        
        return false;
        
        }
    
    isTarga = /^(\d{2})+([a-zA-Z]{3})+(\d{2})+$/;
        if (!document.getElementById('targa').value.match(isTarga)) {
        alert ("Inserire targa");
        
        return false;
        
        }
    }
    

    }

    </script>

    <form method="post" action="#" onsubmit="return controlla_form();">
    <input name="Cognome" type="text" id="cognome" value=""/>
    <input name="Nome" type="text" id="nome" value=""/>
    <input name="Indirizzo" type="text" id="indirizzo" value=""/>
    <input name="Cap" type="text" id="cap" value=""/>
    <input name="targa" type="text" id="targa" value=""/>
    <input type="submit" value="invia"/>
    <form>

    [/HTML]

    Non l'ho testato a fondo ma non mi pare ci siano errori...


  • User Newbie

    [quote=FuSioNmAn;221895]Stasera non avevo niente da fare...

    Grazie mille per il tuo aiuto!!!
    mi è stato molto utile grz


  • Super User

    @FuSioNmAn said:

    Stasera non avevo niente da fare...
    Ricambio i complimenti di qualche giorno fa..

    Bel lavoro 🙂

    Dalle nostre serate infrasettimanali traggono giovamento gli utenti, meno esperti 😄


  • User Attivo

    @claudioweb said:

    Ricambio i complimenti di qualche giorno fa..

    Bel lavoro 🙂

    Dalle nostre serate infrasettimanali traggono giovamento gli utenti, meno esperti 😄

    Grazie!
    Inizio la sviolinata! A te era fatto meglio...il mio è più pacchiano. Forse l'ho fatto troppo in fretta. Diciamo che fa il suo lavoro ma si potrebbe scrivere meglio 🙂
    A me lo scripting piace molto ma purtroppo ho sempre poco tempo per il divertimento.
    Ciao claudius