我已经实现了jquery来验证zipcode。在位置文本框的focusout()事件中。
如果邮政编码无效,则会禁用提交按钮。
我在这里面临一个问题。
包括此处的代码
<script type="text/javascript">
$("#locationInput").focusout(function(){
var value = $("#locationInput").val();
//If the value give in location field is numeric, it is guessed to be a zipcode
if($.isNumeric(value))
{
$("#hidden").val("zipcode");
//Zipcode validation for USA
var postalCodeRegex = /^([0-9]{5})(?:[-\s]*([0-9]{4}))?$/;
if(postalCodeRegex.test(value))
{
$("#error").html("");
$("#submitButton").removeAttr("disabled");
var value = $("#hidden").val();
//alert("Valid zipcode");
}
else
{
//alert("Invalid zipcode");
$("#error").html("Please provide a valid zipcode (Ex: 95035) or city name");
$("#submitButton").attr("disabled", "disabled");
}
}
else
{
$("#hidden").val("city");
//alert("false");
}
});
</script>
<br />
有谁知道我哪里出错了。
感谢。
答案 0 :(得分:1)
我认为在您的情况下验证邮政编码的最佳方法是使用keyup事件,以便用户可以看到每个版本后有效的当前邮政编码
$("#locationInput").keyup(function(){
if(--validatin here--){
$("#submitButton").removeAttr("disabled");
} else{
$("#submitButton").attr("disabled", "disabled");
}
});