我使用ajax调用提交FORM
。我想突出显示未通过验证的所有输入,然后在它们开始进入输入字段时立即删除突出显示。我能够添加错误类,但我无法将其删除。我尝试了很多东西,包括在keydown,keypress,keyup,change,focus等上调用事件。
对于我尝试的所有内容,要么没有任何反应,要么在提交后立即触发警报。
这就是我现在所拥有的:
$(document).ready(function() {
$('#config_form_submit').off().click(function(e) {
e.preventDefault();
$('#config_form').submit();
});
function removeErrorClass() {
alert($(this).html());
}
// $("input .error").keyup(removeErrorClass());
//$("input .error").change(removeErrorClass());
//$("input .error").keydown(removeErrorClass());
//$(".error").on(keypress, removeErrorClass());
$('#config_form').off().submit(function(e) {
e.preventDefault();
$.ajax({
type:"POST",
url: $('#config_form').attr('action'),
data: $(this).serialize(),
datatype: 'json',
success: function(data) {
$("#config_results").text(data.message);
if(data.errors.length > 0)
for(index in data.errors) {
$("#id_"+data.errors[index]).addClass("error");
$("#id_"+data.errors[index]).bind("input", removeErrorClass());
}
},
});
});
}); //document.ready
答案 0 :(得分:2)
我用billyonecan的答案解决了这个问题:
$(document).on("keyup", "input.error", function(){
$(this).removeClass("error");
});