Для IE я пытался установить .blur, чтобы фокус был убран из поля с состоянием ошибки.
Я попытался проработать это ниже, и это не сработало, что бы я ни пытался. (продолжить чтение ниже)
function customAlert(){
var args = arguments;
if(args.length > 1) {
// check that custom alert was called with at least two arguments
var msg = args[0];
$("li").removeClass("alertRed");
$("input").removeClass("CO_form_alert");
$("select").removeClass("CO_form_alert");
var div = $(".errorPopup");
div.css({"display":"block"});
if (div.length == 0) {
div = $("<div class='errorPopup' onclick='$(this).hide();'></div>");
$("body").prepend(div);
}
div.html(msg);
for(var i = 1; i < args.length; i++) {
var inputID = args[i];
$("#"+inputID).addClass("CO_form_alert").parent().addClass("alertRed");
$("#"+inputID).focus(function(){
$(this).unbind('focus'); // remove this handler
$('.errorPopup').hide(); // hide error popup
});
}
}
}
Итак, я добавил .blur к проверке javascript, которая работает (как ни странно) в IE6 - если открыто другое окно, оно удаляет фокус со всего браузера, а окно браузера минимизируется. Мысли? - кажется странным
case "firstName":
//First Name Field Validation, Return false if field is empty
if( f.firstName.value == "" )
{
customAlert (bnadd_msg_002,"firstName");
if ((typeof TeaLeaf != "undefined") && (typeof TeaLeaf.Client != "undefined") && (typeof TeaLeaf.Client.tlAddEvent != "undefined") ) {
var nVO = { ErrorMessage : bnadd_msg_002}
var subtype="CustomErrorMsg";
TeaLeaf.Event.tlAddCustomEvent(subtype, nVO);
}
(this).blur();
return false;
}
break;