Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Problema controllo 0

  1. #1

    Problema controllo 0

    Salve scusate la domanda banale ma in javascript esiste qualche funziona che verifica se una variabile e semplicemente vuota o ha al suo interno un valore?Cioe mi spiego il mio problema che devo fare una verifica al click di un bottone su un determinato campo,ma questo campo potrebbe essere impostato anche con lo 0 dall utente!Quindi l elaboratore nella condizione if mi restituisce sempre che il campo e undefinied!Un piccolo esempio potrebbe giovare alla domanda.
    codice:
    //utente inserisce 0 nella casella 
    $("#aggiungimemoria").click(function(){
    var controllo=$("#casella").val();
    if(controllo==undefinied){
    alert("compila il campo prima di proseguire")
    }
    else{
    fai qualcosa
    }
    })

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova con null al posto di undefined.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Prova con null al posto di undefined.
    Ti ringrazio per la risposta ma il risultato è il medesimo.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    if(controllo == "undefinied" || controllo == ""){
    alert("compila il campo prima di proseguire")
    }
    else{
    fai qualcosa
    }

    undefined è una stringa va tra gli apici/virgolette
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    if(controllo == "undefinied" || controllo == ""){
    alert("compila il campo prima di proseguire")
    }
    else{
    fai qualcosa
    }

    undefined è una stringa va tra gli apici/virgolette
    Premetto che document.getElementById('id') non esiste.

    Con 'undefined' con apici ottengo 'ok'. Il che non va.
    codice HTML:
    <script language="JavaScript" type="text/javascript">
    <!--
     var controllo=document.getElementById('id');
     if (controllo=='undefined'){
      alert("compila il campo prima di proseguire");
     } else {
      alert("ok");
     }
    //-->
    </script>
    Con undefined senza apici ottengo 'compila il campo prima di proseguire'.
    codice HTML:
    <script language="JavaScript" type="text/javascript">
    <!--
     var controllo=document.getElementById('id');
     if (controllo==undefined){
      alert("compila il campo prima di proseguire");
     } else {
      alert("ok");
     }
    //-->
    </script>

    Con null ottengo 'compila il campo prima di proseguire'.
    codice HTML:
    <script language="JavaScript" type="text/javascript">
    <!--
     var controllo=document.getElementById('id');
     if (controllo==null){
      alert("compila il campo prima di proseguire");
     } else {
      alert("ok");
     }
    //-->
    </script>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da lollo1991 Visualizza il messaggio
    Ti ringrazio per la risposta ma il risultato è il medesimo.
    Devi scrivere undefined non undefinied.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    if(controllo == "undefinied" || controllo == ""){
    alert("compila il campo prima di proseguire")
    }
    else{
    fai qualcosa
    }

    undefined è una stringa va tra gli apici/virgolette
    Funziona perfettamente ma ti chiedo nel caso volessi fare lo stesso tipo di controllo su un array?Del tipo:
    codice:
    var vettore[1]=0;
    if(vettore[1]=="undefinied"){
    alert("il vettore non esiste");
    }
    else{
    alert("il vettore esiste!");
    }
    //ovviamente in questo caso vorrei che mi dicesse che e esiste.

  8. #8
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Devi scrivere undefined non undefinied.
    Si ti ringrazio ma non avevo questo problema in quanto il compilatore mi suggeriva la parola e l?ho scritta correttamente.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    codice:
    var a = $("<input/>");
    a.get(0).value = undefined;
    alert(typeof a.val()); // string


    Gli ultimi due esempi che postati da blaze danno lo stesso risultato perché si usa l'operatore ==. Se si usasse === il risultato sarebbe diverso.

    Per l'array puoi fare così:
    codice:
    Array.prototype.indexExists = function (index) { // Definisco la funzione
        return index >= 0 && this.length > index && Math.round(index) === index;
    };
    
    var myArray = [];
    
    myArray[1] = 0;
    alert(myArray.indexExists(1)); // true
    alert(myArray.indexExists(7)); // false
    
    myArray[3] = undefined;
    alert(myArray.indexExists(3)); // true: anche se gli ho assegnato valore undefined, l'elemento esiste
    alert(myArray.indexExists(-1)); // false
    Ultima modifica di tampertools; 07-11-2014 a 23:42
    No

  10. #10
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    se invece di testare "undefined" si andasse alla definizione del campo e gli si desse un value di default?
    poi HTML5 potrebbe venire in aiuto mi sembra che esista una opzione per segnalare che è obbligatorio quando non lo si inserisca e misualizzi il messaggio di errore preconfigurato del caso...
    codice:
    <input type="text" id="campo" value=""  required >


    ciao

    Ultima modifica di vic53; 08-11-2014 a 14:01
    Vic53

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.