我有一个包含4个文本框的表单,文本框末尾有一个标签。我想在输入值改变后将标签更改为complete
。我不想使用按钮来触发此事件,而是希望监视字段何时失去焦点,例如通过跳转到下一个输入或单击当前输入。棘手的部分是每个文本框中都有一个默认值(重影文本),在将相应的输入标记为complete
之前必须对其进行检查。因此,在验证完成之前,我将不得不检查文本的css颜色是否设置为“ghost text”颜色。
感谢。
答案 0 :(得分:0)
添加一个onblur处理程序,遍历所有相关字段并检查它们是否已填写。如果是,则显示您的消息。
$('.textfields').blur(function() {
cnt = 0;
$('.textfields').each(function() {
if ((this.value != 'blur text') && (this.value != '')) {
cnt++;
}
});
if (cnt == $('.textfields').length) {
$('.label').html('All done!');
}
});
未经测试,可能无法正常工作,YMMV等...
答案 1 :(得分:0)
如果Marc B下面的代码没有模糊到最后一个字段,它将无法正常工作。不幸的是,没有一种好方法可以确定用户是否输入了最后一个字段,除非他们选中或单击文本框。想到的其他解决方案是最后一个文本字段的检查,以查看它是否等于之前存在的缓冲区文本,如果没有,那么我们知道它们已经改变了文本,这似乎是一种非常糟糕的假设方式他们完成了。最简单的方法是包含一个提交按钮。
答案 2 :(得分:0)
这对我需要的东西很好,谢谢你们
function ontextChange(){ $('input:text,textarea')。keyup(function(){ $('input:text,textarea')。each(function(){ if($(this).val()!=''){ $('[id $ = lblUploadStatus]')。html('准备上传。'); } 其他{ $('[id $ = lblUploadStatus]')。html('Incomplete')。css({'color':'red'}); } }); }); }