删除表单提交类

时间:2011-06-27 20:06:52

标签: javascript jquery onsubmit

下面的错误消息,突出显示的字段正常运行。除了现在想要不同功能的权力。 目前,错误消息突出显示带有红色边框的字段,并且在焦点上删除边框。但是,现在要求红色突出显示的权力持续到用户点击提交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
   });

}

2 个答案:

答案 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");