检查zip是否是5位数字,否则显示'zip is invalid'。我想使用onBlur事件来触发显示。但它不起作用。
<script>
$(function(){
function valid_zip()
{
var pat=/^[0-9]{5}$/;
if ( !pat.test( $('#zip').val() ) )
{$('#zip').after('<p>zip is invalid</p>');}
}
})
</script>
zip (US only) <input type="text" name='zip' id='zip' maxlength="5" onblur="valid_zip()">
答案 0 :(得分:2)
$('#zip').blur(function()
{
var pat=/^[0-9]{5}$/;
if ( !pat.test( $(this).val() ) )
{$(this).after('<p>zip is invalid</p>');}
})
你现在正在使用jQuery,不要进行内联编码......
<input type="text" name='zip' id='zip' maxlength="5" onBlur="valid_zip()">
应该只是
<input type="text" name='zip' id='zip' maxlength="5">
答案 1 :(得分:1)
看起来应该更像这样:
<script>
$(function(){
$("#zip").blur(function() {
var pat=/^[0-9]{5}$/;
if ( !pat.test( $('#zip').val() ) )
$('#zip').after('<p>zip is invalid</p>');
});
});
</script>
zip (US only) <input type="text" name='zip' id='zip' maxlength="5">
答案 2 :(得分:0)
onblur
应全部小写。
<input type="text" name="zip" id="zip" maxlength="5" onblur="valid_zip()">
另外,为什么将valid_zip
放在$()
内 - 您可以这样做:
<script>
function valid_zip()
{
var pat=/^[0-9]{5}$/;
if ( !pat.test( $('#zip').val() ) )
{
$('#zip').after('<p>zip is invalid</p>');
}
}
</script>