Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Controllo per un campo

  1. #1

    Controllo per un campo

    Ciao a tutti
    Ho un form dati dove in 1 campo inserisco un numero ...per ora ho fatto il controllo se il campo è vuoto oppure no ...ma come faccio a controllare se è stato inserito un numero invece che una lettera?

    per ora se inserisco 1 oppure f non cambia mi fa l'insert into perchè il campo non è vuoto ma io vorrei far si che si possono scrivere solo numeri...il controllo che uso per il campo è:

    }else if (posizione=='') {
    alert('Inserire posizione');
    event.returnValue=false;
    document.form.posizione.focus();


    come posso integrare nel controllo che già uso la verifica se è un numero ?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Controllo per un campo

    Originariamente inviato da nicolal
    Ciao a tutti
    Ho un form dati dove in 1 campo inserisco un numero ...per ora ho fatto il controllo se il campo è vuoto oppure no ...ma come faccio a controllare se è stato inserito un numero invece che una lettera?

    per ora se inserisco 1 oppure f non cambia mi fa l'insert into perchè il campo non è vuoto ma io vorrei far si che si possono scrivere solo numeri...il controllo che uso per il campo è:

    }else if (posizione=='') {
    alert('Inserire posizione');
    event.returnValue=false;
    document.form.posizione.focus();


    come posso integrare nel controllo che già uso la verifica se è un numero ?
    Ti posto due esempi non sapendo quale meglio fa al caso tuo:
    codice:
    <html>
    
    <head>
    <title>Esempio</title>
    <script>
    function verifica(){
    if(document.form1.numero.value == ""){
    alert("Inserisci un numero");
    document.form1.numero.focus();
    return false;
    }else if(isNaN(document.form1.numero.value)){
    alert("Inserire solo numeri");
    document.form1.numero.focus();
    return false;
    }
    }
    </script>
    </head>
    
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <form name="form1" onSubmit="return verifica();">
    
    
    <input type="text" name="numero"><input type="submit" name="formbutton1" value="controlla"></p>
    </form>
    
    
    </p>
    
    </body>
    
    </html>
    Questo esempio verifica se il parametro nel campo numero è un numero ma accenta anche il punto come separatore decine (100.00).
    codice:
    <html>
    
    <head>
    <title>Esempio</title>
    <script>
    function verifica(){
    var n  = /^([0-9])+$/
    if(document.form1.numero.value == ""){
    alert("Inserisci un numero");
    document.form1.numero.focus();
    return false;
    }else if(!n.test(document.form1.numero.value)){
    alert("Inserire solo numeri");
    document.form1.numero.focus();
    return false;
    }
    }
    </script>
    </head>
    
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <form name="form1" onSubmit="return verifica();">
    
    
    <input type="text" name="numero"><input type="submit" name="formbutton1" value="controlla"></p>
    </form>
    
    
    </p>
    
    </body>
    
    </html>
    Questo esempio accetta solo numeri intieri (100)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    }else if(!n.test(document.form.posizione.value)){
    alert("Inserire solo numeri nel campo posizione");
    document.form.posizione.focus();
    return false;


    questo fa proprio al caso mio Andrea...l'ho già testato e controlla se davvero c'è un numero oppure una lettera ...solo che mi fa il controllo e quanto premo ok sulla finestra allert mi spedisce il form

  4. #4
    ti posto tutto quello che uso per fare il controllo

    <SCRIPT LANGUAGE="JavaScript">
    function validate() {

    var n = /^([0-9])+$/

    voce=form.voce.value;
    posizione=form.posizione.value;

    if (voce=='') {
    alert('Dare un nome alla voce di menu');
    event.returnValue=false;
    document.form.voce.focus();

    }else if (posizione=='') {
    alert('Inserire posizione');
    event.returnValue=false;
    document.form.posizione.focus();

    }else if(!n.test(document.form.posizione.value)){
    alert("Inserire solo numeri nel campo posizione");
    document.form.posizione.focus();
    return false;


    }
    }
    </SCRIPT>

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Per cominciare la parola form è un parola riservata ti consiglio di cambiarla, l'esempio da me postato funziona corretamente.
    I campi del form sono text?
    Come richiami la funzione di controllo?
    Prova a richiamarlo cosi "return validate();" poi prova a modificare i controlli cosi:
    codice:
    if (voce=='') {
    alert('Dare un nome alla voce di menu');
    document.modulo.voce.focus(); 
    return false;
    Restitisce errori? postali.

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    ok trovato il perchè richiamavo la funzione così:

    onsubmit="validate();"

    Ho messo (come dal tuo esempio)

    onsubmit="return validate();"


    e funziona

    grazie

  7. #7
    Salve a tutti, sono Paolo e chiedo aiuto anche io per un problema simile...
    Dovrei realizzare un menù tipo questo :http://www.paolochiavetta.altervista...avoro%20nuovo/ ma ovviamente con molti prodotti in più...
    Quando scelgo un prodotto e una quantità, premo invio e mi si apre il programma di posta per farmi inviare il messaggio e fin qui, tutto ok...
    Purtroppo il form tiene conto di tutti i campi anche se non inseriti e in una situazione dove inserirei solo l'ultimo prodotto, mi invierebbe una e-mail con un sacco di spazio prima del prodotto....
    Come faccio a dire che se il campo non è selezionato, non considerarlo nella e-mail?
    Grazie...

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.