1

我正在尝试验证输入语句,如果输入错误,用户会收到一个 Bubble Div 通知输入不正确。我正在尝试将焦点恢复到错误的输入元素并选择其中的文本。该代码适用于 Chrome,但不适用于 Firefox。谁能帮我这个?. 我在这里发布代码:

$("#inner-tbl").on('blur', 'input[type=text]', function(e) {
    var checkval = $(this).val();
    checkval = checkval.replace(/\s/g,'');
    $(this).val(checkval);
    console.log(checkval);
    var numericReg = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/;
    if(!numericReg.test(checkval)) {
        $(this).addClass("error");
        $(this).focus().select();
        console.log("Not an integer");
        var ip_width, ip_height, x;
        ip_width = $(this).outerWidth();
        ip_height = $(this).outerHeight();
        x = $(this).offset();
        console.log("Width :"+ip_width+" Height :"+ip_height+" Top :"+x.top+" Left :"+x.left);
        $("body").append("<div class='error_bubble'><span class='errordiv'>Numeric value.</span></div>");
        $(".error_bubble").css({
            position: 'absolute',
            top: (x.top+30)+'px',
            left: (x.left-30)+'px'
        });
    } 
});

这是jsfiddle:http: //jsfiddle.net/neoragex/Wk35w/

4

2 回答 2

0

您可以使用 return false 和它为 firefox 工作。

        $(this).focus().select();
        return false;
于 2014-07-15T09:14:01.637 回答
0

在 Chrome 和 IE 中,文本输入字段被聚焦并突出显示

在 Firefox 中,文本输入字段被聚焦,但光标位于未突出显示文本的开头

$("#surname").focus();
$("#surname").select(); // for Firefox
于 2014-05-15T11:54:37.337 回答