Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581

    Problema con controllo lunghezza su campo form non vuoto

    Ciao a tutti
    ho un campo di un form che può o non può contenere valori, in particolari deve contenere un numero (il telefono)

    Come si fa per fare un controllo del tipo:
    "se il campo non è vuoto ... allora se la sua lunghezza è inore di 3 genera un alert e dai responso falso"
    ???

    io ho questo codice:
    codice:
    function controllo(f) {
     var prefcell=f.prefcell;
      if ((prefcell.value != "") && (prefcell.value.lenght < 3)) {
        alert("Il prefisso del cellulare deve essere di 3 cifre");
      return false;
     }
      if (isNaN(prefcell.value)) {
      alert("Il prefisso del cellulare deve contenere un valore numerico");
      return false;
     }
     return true;
    }
    solo che non funziona

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259

    Re: Problema con controllo lunghezza su campo form non vuoto

    Originariamente inviato da Fichico

    "se il campo non è vuoto ... allora se la sua lunghezza è inore di 3 genera un alert e dai responso falso"
    formalizzando questo, diventa

    if(campo.value=="" || campo.value.length<3)alert("FALSO");

  3. #3
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    [...] if(campo.value=="" [...]

    scusa ma così non poni il campo necessariamente vuoto?

    io devo verificare la lunghezza SOLO nel caso in cui non sia vuoto ... quando qualcosa gliel'hanno scritto

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    si, ci vuole l'operatore OR

    if(campo.value=="" || campo.value.length<3)alert("FALSO");


    tradotto ti diventa:

    Se il campo è vuoto oppure la sua lunghezza è inferiore a 3, mostra l'alert FALSO

  5. #5
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    il problema sta proprio lì!!!

    In pratica sono un campo prefisso ed un campo numero ...
    se entrambi sono vuoti ... non vado ad inserire poi i dati a db, stessa cosa se hanno riempito solo uno dei due

    In particolare però, se in un campo c'e' scritto qualcosa, allora in quel momento, e SOLO in quello, deve controllare che la dimensione non sia inferiore di 3 nel caso del prefisso (o 6 nel caso del numero) ...

    quindi il controllo deve fare è:
    SOLO se il campo non è vuoto, allora che la lunghezza non sia minore di X

    infatti io avevo messo:
    if ((prefcell.value != "") && (prefcell.value.lenght < 3))
    ma non campisco perche' non funzioni

    piu' che altro a logica andrebbe messo nell'ordine:
    if (prefcell.value != "") allora
    if (prefcell.value.lenght < 3 allora
    ALERT

    ma non so come tradurre in js un if annidato

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Originariamente inviato da Fichico
    il problema sta proprio lì!!!

    In pratica sono un campo prefisso ed un campo numero ...
    se entrambi sono vuoi ... non vado ad inserire poi i dati a db, stessa cosa se hanno riempito solo uno dei due

    In particolare però, se in un campo c'e' scritto qualcosa, allora in quel momento, e SOLO in quello, deve controllare che la dimensione non sia inferiore di 3 nel caso del prefisso (o 6 nel caso del numero) ...

    quindi il controllo deve fare è:
    SOLO se il campo non è vuoto, allora che la lunghezza non sia minore di X
    vabbè, basta cambiare l'operatore ed il controllo
    if(campo.value!="" && campo.value<3)

    che automaticamente si semplifica nel solo controllo
    if(campo.value<3)


    cosa c'è che nn capisco? :master:

  7. #7
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    ho editato mentre postavi .. leggi sopra

    se faccio solo un lenght < 3 .. se lasciano il campo vuoto perchè non vogliono mettere il numero non valida la form ... non e' un campo che e' ecesariamente obbligatorio

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    mmm... non capisco molto il problema allora...

    se vuoi un if annidato, eccotelo


    if(campo.value!=""){
    if(campo.length<3){
    alert("CUCU");
    }
    }

    che però corrisponde all'operatore AND,

    secondo me sbagli semplicemente a scrivere LENGTH

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    mi son riguardato la cosa, ripartendo da 0, perchè in questi casi è meglio ripartire prova direttamente così,senza farti troppi conti sul codice

    function controllo(f) {
    var prefcell=f.prefcell;
    if (prefcell.value == "" || prefcell.value.length != 3) {
    alert("Il prefisso del cellulare deve essere di 3 cifre");
    return false;
    }
    else if(isNaN(prefcell.value)) {
    alert("Il prefisso del cellulare deve contenere un valore numerico");
    return false;
    }
    else return true;
    }

  10. #10
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    non c'e' pezza..sembra proprio che non voglia controllare

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.