我使用javascript创建了一个简单的表单,如果单击“join”按钮并将字段留空,则会突出显示红色字段。
即使填写完成后,在按下“加入”按钮之前,它仍会保持红色。因此,我只想在用户开始输入后取消突出显示,而不是点击。
的jsfiddle: http://jsfiddle.net/LCBradley3k/xqcJS/6/ 使用Javascript:
$(document).ready(function(){
/* setTimeout(function(){
$('.inputs').show("slide", { direction: "down" }, 1000);
}, 2000);
});*/
$('#join').click(function(){
var correct = true;
$('input[type="text"]').each(function(indx){
var $currentField = $(this);
if ($currentField.val() === ''){
$currentField.addClass('empty');
correct = false;
} else{
$currentField.removeClass('empty');
}
});
if (correct) {
$('#answer').html('Thank You!');
setTimeout(function(){
$('.inputs').hide("slide", { direction: "up" }, 1000);
}, 2000);
} else {
$('#answer').html('Please fill highlighted fields.') ;
}
});
答案 0 :(得分:0)
在表单输入上添加keyup
处理程序以删除该类:
$('input[type="text"]').keyup(function (event) {
var $currentField = $(this);
if ($currentField.val() !== '') {
$currentField.removeClass('empty');
}
});
<强> DEMO 强>
答案 1 :(得分:0)
当然,只需绑定到keydown。
if ($currentField.val() === ''){
$currentField.addClass('empty');
correct = false;
$currentField.one('keydown',function(){
$currentField.removeClass('empty');
});
答案 2 :(得分:0)
$('input[type="text"]').keydown(function() {
if ( $(this).val != "" )
$(this).removeClass('empty');
});
答案 3 :(得分:0)
您可以使用焦点或使用键盘。
$('input[type="text"]').keyup(function(e){
$(this).removeClass('empty');
})
如果您想使用焦点,可以将焦点替换为焦点,因为每次键入时都不会触发事件。
答案 4 :(得分:0)
添加以下代码:
$('input[type="text"]').focus(function() {
$(this).removeClass('empty');
});
当您专注于字段时,将删除“空”类。