如何在提交时检查变量的内容

时间:2009-08-03 22:06:43

标签: jquery

我有一个需要一些邮政编码的表单,我试图用预定义的后代码变量检查给定的邮政编码

 <form id="post_code">
        <input name="textfield" type="text" id="postcode" size="8" maxlength="8" />
        <input type="image" id="submit_postcode" src="images/B_go.png" alt="Submit Postcode" width="59" height="24" border="0" />
 </form>


var districtPostcodes = ['B1', 'B2', 'B3','B4'];
$("#submit_postcode").submit(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);
            return true;
        }else{
            return false;
    });
});

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

好的,我发现您的代码存在两个问题。

首先,if/else块缺少终止}。在我对您粘贴的代码应用了适当的缩进后,这才明显。

其次,.indexOf不是跨浏览器。您应该使用$.inArray

如果您要检查userPostcode数组中是否存在districtPostcodes的值,则可以调用$.inArray(userPostcode, districtPostcodes)并将结果与​​-1进行比较。< / p>