Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 无法销毁引导工具提示_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript 无法销毁引导工具提示

Javascript 无法销毁引导工具提示,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我限制用户使用jquery在文本框中输入特殊字符。 我正在向用户显示错误消息作为引导工具提示。但是如果用户在文本框中输入了正确的数据,我无法销毁引导工具提示 <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="style.css"> <script src="script.js"></script> &l

我限制用户使用jquery在文本框中输入特殊字符。 我正在向用户显示错误消息作为引导工具提示。但是如果用户在文本框中输入了正确的数据,我无法销毁引导工具提示

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="style.css">
        <script src="script.js"></script>
        <link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons">
        <link href='http://fonts.googleapis.com/css?family=Roboto:400,300,300italic,500,400italic,700,700italic' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" href="//storage.googleapis.com/code.getmdl.io/1.0.1/material.teal-red.min.css" />
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <script src="//storage.googleapis.com/code.getmdl.io/1.0.1/material.min.js"></script>
        <script>
            var specialKeys = new Array();
            specialKeys.push(8); //Backspace
            specialKeys.push(9); //Tab
            specialKeys.push(46); //Delete
            specialKeys.push(36); //Home
            specialKeys.push(35); //End
            specialKeys.push(37); //Left
            specialKeys.push(39); //Right
            specialKeys.push(64);
            var mainelemnt;
            function IsAlphaNumeric(elment, e) {
                mainelemnt = elment;
                var keyCode = (window.event) ? e.charCode : e.keyCode;
                var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || keyCode == 64 || keyCode == 46 || keyCode == 32 || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
                if (ret == false) {
                    $(mainelemnt).tooltip('show');
                } else {
                    $(mainelemnt).tooltip('destroy');
                }
                return ret;
            }

        </script>
    </head>
    <body>
        <div id="mydiv" class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" style="margin-top:100px">
            <input class="mdl-textfield__input" type="text" id="username"  onkeypress="return IsAlphaNumeric(this, event);"  data-placement="top" data-toggle="tooltip" data-original-title="special charecters are not allowed" onblur="ValidateEmail(this)" />
            <label class="mdl-textfield__label" for="username">Username</label>
        </div>
    </body>
</html>

var specialKeys=新数组();
推(8)//退格
推(9)//标签
推(46)//删除
推(36)//家
推(35)//终点
推(37)//左边
推(39)//赖特
推(64);
var主元件;
函数为对数函数(elment,e){
mainelemnt=elment;
var-keyCode=(window.event)?e.charCode:e.keyCode;

var ret=((keyCode>=48&&keyCode=65&&keyCode=97&&keyCode我认为您的问题有点过于复杂了。当出现keyup时,我们不应该测试字符,而应该测试整个字符串

如果有人用鼠标粘贴了什么东西呢?现在你可以自己指定模糊

$.fn.isValidAlphaNum = function () {
    return /^[a-zA-Z0-9]*$/.test($(this).val());
};

$('#username').keyup(function (e) {
    if (!$(this).isValidAlphaNum()) {
        alert('Not valid');
        //Show the tooltip
    } else {
        alert('Valid');
        //Hide the tooltip
    }
});

这是一个可行的办法。

谁否决了我的问题,wt是背后的原因。不是我,但我想这是因为你的问题几乎没有努力确定问题区域(而不仅仅是链接所有代码)。解释哪一行应该删除工具提示以及您尝试了什么。这通常是一个友好的地方,但也有一些问题,被认为缺乏努力的问题会被处理类似的缺乏解释的问题。hi@AdamHopkinson,当用户在文本框中输入特殊字符时,如果使用r输入了更正的数据我正在删除工具提示,但错误是如果用户输入了错误的数据,工具提示就会显示出来。但是在输入了更正的数据后,工具提示仍然会显示。请参考plunker链接。嗨@AdamHopkinson,请参考plunker并建议我。@srilu您的代码工作正常。修复了一个问题。嗨,我知道这个answer、 我希望阻止用户输入像我的代码这样的特殊字符。正如您在keyup上看到的那样,也可以执行相同的操作。将其添加到粘贴事件中。这是在每个keyup上检查整个字符串。