我正在尝试编写一个代码,如果焦点已经将文本字段留给“强制”类,并且该字段为空,则发出警报声。
基本上,如果用户在没有写任何内容的情况下离开必填文本字段,则会提示他们。
这是我的代码,它不起作用:
$(document).ready(function(){
$('.mandatory').blur(function(){
if($(this.id).val() == "")
{
alert('Field:' + this.id + ' is mandatory!');
}
});
});
答案 0 :(得分:2)
当您使用this.id
时,您正在使用this
:
if($(this).val() == "")
{
alert('Field:' + this.id + ' is mandatory!');
}
解释:在事件处理程序中,this
是触发事件的DOM元素。正如您从$
函数的文档中看到的那样(注意jQuery
函数和$
函数是相同的),您可以使用DOM元素来构建jQuery选择
请注意,您可以通过放弃jQuery构造函数并仅使用this.value
来进一步优化它。
答案 1 :(得分:1)
假设你正在使用jquery:
$(document).ready(function(){
$('.mandatory').blur(function(){
if($(this).val() == "") {
alert('Field:' + $(this).attr('id') + ' is mandatory!');
}
});
});
答案 2 :(得分:1)
如果用户输入了空格
,您的代码将无法使用使用
$。修剪()
代替
$(document).ready(function(){
$('.mandatory').blur(function(){
if($.trim($(this).val()) == "")
{
alert('Field:' + this.id + ' is mandatory!');
}
});
});
答案 3 :(得分:0)
猜猜你是试着这么做的
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script>
$(function(){
$('.mandatory').each(function (){
$(this).blur(
function(){
if($(this).val() == ""){
alert("empty");
}
})
});
});
</script>
<div id='header'>
<input type="text" class="mandatory"/>
<input type="text" class="mandatory"/>
<input type="text" class="mandatory"/>
<input type="text" class="mandatory"/>
<input type="text" class="mandatory"/>
<input type="text" class="mandatory"/>
<input type="text" class="mandatory"/>
</div>
这是有效的