Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从表单字段移除焦点(在FF中工作,但不在IE中工作)_Javascript_Jquery_Forms_Internet Explorer_Focus - Fatal编程技术网

Javascript 从表单字段移除焦点(在FF中工作,但不在IE中工作)

Javascript 从表单字段移除焦点(在FF中工作,但不在IE中工作),javascript,jquery,forms,internet-explorer,focus,Javascript,Jquery,Forms,Internet Explorer,Focus,我使用javascript表单验证和jquery来显示错误消息并突出显示字段 当前行为是当您单击“提交”时,验证将运行并返回错误消息,当用户单击返回字段时,错误消息将消失,但表单高亮显示(字段周围的红色边框)将保留,直到用户再次提交表单 需要的其他行为(在firefox中工作,而不是在IE中工作)是,当出现错误状态时,返回错误的字段将失去焦点,用户必须单击该字段(然后删除错误消息)。在IE中,焦点永远不会被移除 <script language="JavaScript" type="tex

我使用javascript表单验证和jquery来显示错误消息并突出显示字段

当前行为是当您单击“提交”时,验证将运行并返回错误消息,当用户单击返回字段时,错误消息将消失,但表单高亮显示(字段周围的红色边框)将保留,直到用户再次提交表单

需要的其他行为(在firefox中工作,而不是在IE中工作)是,当出现错误状态时,返回错误的字段将失去焦点,用户必须单击该字段(然后删除错误消息)。在IE中,焦点永远不会被移除

<script language="JavaScript" type="text/javascript">
<!--Jquery function to override JS alert with DOM layer alert message-->
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
            });
        }
     }
}

</script>

函数customAlert(){
var args=参数;
如果(参数长度>1){
//检查是否使用至少两个参数调用了自定义警报
var msg=args[0];
$(“li”).removeClass(“alertRed”);
$(“输入”).removeClass(“CO表格警报”);
$(“选择”).removeClass(“CO表格警报”);
var div=$(“.errorPopup”);
css({“display”:“block});
如果(div.length==0){
div=$(“”);
$(“正文”)。预付款(部门);
}
div.html(msg);
对于(变量i=1;i
您可以尝试
blur()

编辑:

您可以尝试
blur()

编辑:


刚刚试过,但在IE中也不能正常工作。您使用的是哪个版本的jQuery?您可以试试这个。。。该网站使用1.4.2版本,但仍然坚持使用它。还有什么可以尝试的吗?我可以把焦点转移到其他地方吗?我刚刚试过,但它在IE中也不能正常工作。你使用的是什么版本的jQuery?你可以试试这个。。。该网站使用1.4.2版本,但仍然坚持使用它。还有什么可以尝试的吗?我能把注意力转移到别的事情上吗?