2009-07-31 11 views
0

J'ai un simple code postal, je voudrais vérifier la valeur soumise par rapport à une variable pré-faite, comment puis-je le faire dans Jquery,comment vérifier la valeur du champ de formulaire soumis contre un tableau variable

<form method="post" action="#"> 
    <input name="textfield" type="text" id="textfield" size="8" maxlength="8" /> 
    <input type="submit" value="submit"> 
</form> 

et ma variable contient B1, B2 et B3.

Si le code postal entré est similaire à la variable, un message ok est envoyé sinon un message non est envoyé.

Répondre

0
$('form').submit(function(){ 
    var textfield = $('#textfield').val(); 
    if (textfield == B1 || textfield == B2 || textfield == B3){ 
     alert('ok'); 
     return true; 
    }else{ 
     return false; 
    } 
}); 

quelque chose comme ça? vous devriez donner votre formulaire un ID. En fait, la documentation a un bon exemple: http://docs.jquery.com/Events/submit EDIT: Whoops, n'a pas obtenu la partie avec la partie ... voir exemple bas avec grep

0
var varArray = [B1,B2,B3]; 

$('form submit').click(function(){ 
    var textfield = $('#textfield').val(); 
    if (varArray.indexOf(textField) > -1){ 
     alert('ok'); return true; 
    }else{ 
     return false; 
    } 
}); 

qui vous donnera ce que vous voulez. Vous pouvez ajouter des choses à votre tableau comme vous le voyez.

+0

Je pense que le clic n'arrête pas de soumettre avec la touche de retour – Moak

1

Je suppose que vous voulez vérifier si code postal soumis est correspond en partie une liste de codes postaux de district (comme B1, B2, B3 qui sont les districts de Birmingham)

var districtPostcodes = ['B1', 'B2', 'B3','B4']; 
$("#submit_postcode").click(function(){ 
    var userPostcode = $("#postcode").val().replace(/[^a-zA-Z0-9]/gi,'').toUpperCase(); 
    $.grep(districtPostcodes , function(val, i){ 
     if(userPostcode.indexOf(val) === 0){ 
      alert("Users postcode is part of district: "+val) 
     } 
    }) 
}) 

La fonction correspond uniquement les codes postaux qui commencent par le prédéfini districts (cela ne réussissant le code postal est entré est dans ce quartier)

J'ai aussi utilisé quelques ids pour vos éléments comme il est logique et améliore la clarté du code Vous pouvez vérifier la demo here (utilisation B24EZ comme postcod e)

Questions connexes