下面的错误消息,突出显示的字段正常运行。除了现在想要不同功能的权力。
目前,错误消息突出显示带有红色边框的字段,并且在焦点上删除边框。但是,现在要求红色突出显示的权力持续到用户点击提交onclick="return formSubmit()"
我尝试过使用.submit函数(删除unbind并从.focus函数中删除焦点,但红色突出显示仍然存在。
<!--Jquery function to override JS alert with DOM layer alert message-->
function customAlert(inputID,msg){
var div = $(".errorPopup");
div.css({"display":"block"});
$("#"+inputID).addClass("CO_form_alert").parent().addClass("alertRed");
if (div.length == 0) {
div = $("<div class='errorPopup' onclick='$(this).hide();'></div>");
$("body").prepend(div);
}
div.html(msg);
$("#"+inputID).focus(function(){
$(this).unbind('focus'); // remove this handler
$(this).removeClass("CO_form_alert")
.parent().removeClass("alertRed"); // undo changes
$('.errorPopup').hide(); // hide error popup
});
}
答案 0 :(得分:0)
不确定我理解你。如果没有请告诉我,但你不能这样做:
$('.theform').submit(function() {
$('input', this).removeClass('CO_form_alert').parent().removeClass('alertRed');
$('.errorPopup').hide();
return false;
});
为什么你需要解开?
答案 1 :(得分:0)
我在寻找上面的解决方案时非常狭隘 - 试图将removeClass与表单提交绑定(必须将许多操作绑定到它并且过于复杂)。
相反,我只是在错误检查开始时执行了删除类:
$("li").removeClass("alertRed");
$("input").removeClass("CO_form_alert");
$("select").removeClass("CO_form_alert");