2010-08-20 3 views
1

Pour une entrée de texte défini comme:Comparer la valeur de saisie de texte contre la valeur par défaut

<input type="text" name="Email0" id="Email0" value="1st Email" /><br /> 

Si l'utilisateur change la valeur de cette zone de texte je passe simplement avec le formulaire soumettre ... si elles _haven » J'ai changé - j'ai besoin de passer une valeur de 'null'.

$('#frmSignup').submit(function() { 
    if (Email0.value != Email0.defaultValue) { 
     alert("hit here"); //not hitting here 
    } 
}); 

Vous remarquerez qui existe jQuery, mais je ne suis pas clair exactement comment récupérer defaultValue à jQuery d'une entrée.

thx

Répondre

4

Vous pouvez faire référence à l'élément DOM sous-jacente d'un objet jQuery en utilisant la syntaxe de tableau ...

$("#frmSignup").submit(function() { 
    var email = $("#Email0")[0]; // gets DOM element 

    if(email.value != email.defaultValue) { 
     alert("hit here"); 
    } 
}); 
0

Il existe plusieurs possibilités:

  1. Si vous pouvez changer la mise en page du html, changez votre entrée comme ceci:

    <input type="text" name="Email0" id="Email0" value="1st Email" data-default="1st Email"/> 
    

    alors vous pouvez vérifier les changements comme celui-ci:

    $('#frmSignup').submit(function){ 
        $form = $(this).closest('form'); 
        $email = $('input[name=Email0]', $form); 
        if ($email.val() != $email.attr('data-default')) { 
        // value has changed 
        } 
    }); 
    
  2. Si vous voulez une solution pure javascript, le code suivant stocker la valeur par défaut, avant de la changer:

    $(function(){ // short version of $(document).ready(callback); 
        $email = $('#frmSignup input[name=Email0]'); 
        $email.data('default',$email.val()); 
    }); 
    

    maintenant vous pouvez rechercher des modifications de ce type:

    $('#frmSignup').submit(function){ 
        $form = $(this).closest('form'); 
        $email = $('input[name=Email0]', $form); 
        if ($email.val() != $email.data('default')) { 
        // value has changed 
        } 
    }); 
    
Questions connexes