我已经实现了 jquery 来验证邮政编码。在位置文本框的 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 />
有谁知道我哪里出错了。
谢谢。