Visualizzazione dei risultati da 1 a 10 su 10

Discussione: problema con funzione

  1. #1

    problema con funzione

    ciao a tutti

    allora io ho questo codice funziona tutto tranne il return true all'ultimo passaggio!
    da quando ho inserito un controllo di questo tipo:

    if (document.mio.nome.value=="1","2","3","4","5","6", "7","8","9","0" ){
    alert("Errore: il campo NOME e il campo COMMENTO non possono contenere dei numeri!");
    document.mio.nome.focus();
    return (false);
    }

    (è un controllo per un form)
    in pratica se scrivo correttamente tutto nel form dovrebbe andare avanti e di conseguenza farmi inviare il tutto.ma si ferma allo script qui sopra!

    vi posto tutto il codice!



    <script>

    function controlla(){
    //Controlla la valorizzazione del campo obbligatorio nome

    if ((document.mio.nome.value=="")){
    alert("Errore: Inserire il campo NOME!");
    document.mio.nome.focus();
    return false;
    }

    //controlla che nn si superino 15 caratteri nel campo nome
    if (document.mio.nome.value.length > 15){
    alert("Errore: Inserire al massimo 15 caratteri nel campo NOME!");
    document.mio.nome.focus();
    return (false);
    }

    //controlla che il campo nome non sia inferiore a 3 caratteri
    if (document.mio.nome.value.length < 3){
    alert("Errore: campo NOME troppo corto!");
    document.mio.nome.focus();
    return (false);
    }

    //Controlla la valorizzazione del campo obbligatorio commento
    if (document.mio.commento.value==""){
    alert("Errore: Inserire il COMMENTO!");
    document.mio.commento.focus();
    return false;
    }
    //controlla che il campo commento non sia inferiore a 3 caratteri e controllo che il campo nome nn sia un numero
    if (document.mio.commento.value.length < 3){
    alert("Errore: campo COMMENTO troppo corto!");
    document.mio.commento.focus();
    return (false);
    }

    if (document.mio.nome.value=="1","2","3","4","5","6", "7","8","9","0" ){
    alert("Errore: il campo NOME e il campo COMMENTO non possono contenere dei numeri!");
    document.mio.nome.focus();
    return (false);
    }


    alert("Controllo effettuato con successo. Il commento sarà inviato.");
    return true;
    }

    aiutooooo

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Ciao e benvenuto su html.it
    document.mio.nome.value=="1","2","3","4","5","6"," 7","8","9","0" ma come ti sei inventato una sintassi del genere?
    codice:
    var pat = /^[0-9]+$/
    if (pat.test(document.mio.nome.value) == true || pat.test(document.mio.commento.value) == true){
    alert("Errore: il campo NOME e il campo COMMENTO non possono contenere dei numeri!");
    return (false);
    }


    P.S. In futuro non usare titoli cosi generici, ma sforzati a cercare un titolo che indichi il problema
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Sono alle prime armi con javascript!!!comunque grazie mille!problema risolto!

    se puoi mi spieghi lo script?

  4. #4
    var pat = /^[0-9]+$/
    qui è stata utilizzata un'espressione regolare

    il resto è un IF che verifica due variabili e restituisce un risultato sotto forma di ALERT

  5. #5
    gentilissimo!
    e se dovessi mettere un controllo anche per i tag html o per validare le email?

    il form va ad interagire direttamente con un database

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    var pat = /^[0-9]+$/;//Espressione regolare numerica
    if (pat.test(document.mio.nome.value) == true || pat.test(document.mio.commento.value) == true){//test che ferica che in entrambi i campi non vi sia numeri
    alert("Errore: il campo NOME e il campo COMMENTO non possono contenere dei numeri!");//avviso mostrato a video
    return (false);//blocca l'invio del form
    }
    guide javascript
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    ho modificato cosi:

    //controllo che il campo nome nn contenga dei numeri
    var pat = /^[0-9]+$/
    if (pat.test(document.mio.nome.value) == true) {
    alert("Errore: il campo NOME non può contenere dei numeri!");
    return (false);
    }
    //controllo che il campo commento nn contenga dei numeri
    var pat = /^[0-9]+$/
    if (pat.test(document.mio.commento.value) == true){
    alert("Errore: il campo COMMENTO non può contenere dei numeri!");
    return (false);
    }


    pero funziona solo se digito "solo numeri"
    cosa devo fare se voglio che anche se scrivo cosi:"giulio82" risulti l'errore???

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    ho sbagliato la regular cambiala con questa var pat = /[0-9]/g


    P.S. Quando dichiari una variabile quella esiste in tutta la funzione non va ripetuta
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    scusami!non ho avuto tempo per leggere il regolamento!

    comunque grazie mille per l'aiuto!

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Originariamente inviato da maustakkio
    scusami!non ho avuto tempo per leggere il regolamento!

    comunque grazie mille per l'aiuto!
    Non hai avuto 3 minuti (forse meno) di tempo pertanto immagino che di leggere le guide (che t'ho già consigliato) per capire come funziona il javascript non t'ha neanche sfiorato, spero per te di sbagliarmi, non credo che sarebbe una scelta saggia
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.