为什么以下代码在代码中不起作用if(!$(this).val()){...
,http://www.st
匹配为真,我希望如下:http://stackoverflow.com
?
示例: http://jsfiddle.net/gp9nL/3/
$('.url').keyup(function(){
if (!$(this).val().match(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \?=.-]*)*\/?$/)){
$(this).css("background", "#ffc4c4");
result = false;
}else {
$(this).css("background", "#FFFFEC");
result = true;
}
if(!$(this).val()){
alert('field is empty')
$(this).css("background", "#FFFFEC");
}
return result;
});
答案 0 :(得分:0)
此
if(!$(this).val())
可能无法正常工作,因为它是在keyup
$('.url').keyup(function(){
因此,input
中总会有一些内容,因为需要一个关键的笔触来激活keyup,它永远不会被评估为空。
修改强>
根据评论
解决方案是什么?
如果您想检查字段是否为空,请检查focusout
。
这是您更新的代码:
$('.url').focusout(function(){
if(!$(this).val()){
alert('field is empty')
$(this).css("background", "#FFFFEC");
}
});
你的小提琴更新了:http://jsfiddle.net/gp9nL/4/