我想用jQuery验证空输入字段,就像在这个网站上vk.com
一样我喜欢你在这个网站上提交表格时的效果,输入变成红色片刻并逐渐变为初始颜色。你可以自己看看
答案 0 :(得分:2)
您可以使用Jquery
并在提交时添加error
,并在1秒后删除该类。
对于过渡效果,您可以使用css3 background-color过渡到error
类。
例如,请参阅下面的代码。
$(document).ready(function() {
$("#login_button").click(function() {
var phoneEmail = $("#phone_email");
if(!phoneEmail.val()) {
phoneEmail.addClass('error');
setTimeout(function(){
phoneEmail.removeClass('error');
}, 1000);
}
});
});
input {
-webkit-transition: background-color 1s ease-out;
-moz-transition: background-color 1s ease-out;
-o-transition: background-color 1s ease-out;
transition: background-color 1s ease-out;
}
input.error {
background: #f3765b;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="text" id="phone_email" placeholder="Phone or email">
<input type="password" id="pass" placeholder="password">
<button id="login_button">Log in</button>
</form>
答案 1 :(得分:1)
尝试这样的事情:
//check if input is empty
$('.someinputs').each(function(){
if($(this).val() == 0 || $(this).val() == '') {
$(this).addClass('empty_field');
}
else {
$(this).removeClass('empty_field');
}
});
//this function lights field which have class '.empty_field'
function lightEmpty(){
$('.empty_field').each(function(){
$(this).css('border','2px solid #d8512d');
});
setTimeout(function(){
$('.empty_field').each(function(){
$(this).css('border','1px solid #cdcdcd');
});
},1500);
}
//this triggers lightEmpty()
if (emptyInputs.length != 0)
{
lightEmpty();
}
它只是用特定颜色改变输入的边界,可以在setTimeout函数中写入时间。我想你可以弄清楚在哪里使用这段代码