为什么我的jquery输入掩码不起作用?

时间:2012-09-07 20:16:44

标签: jquery forms input mask

我正在尝试使用jQuery输入掩码插件(jquery.maskedinput-1.3.min.js),我搜索了几个示例/解决方案,我的代码与其他工作示例完全相同,但它只是简单对我不起作用。请记住,我的代码目前仅测试此插件(尝试使其工作,这将解释为什么我尝试将日期输入掩码应用于名称字段)我的代码如下:

HTML

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Persons of Interest</title>
    <link rel="stylesheet" type="text/css" href="/Default_Styler.css" />
    <link rel="shortcut icon" href="/person.ico" type="image/x-icon" />
    <script src="/Scripts/jquery.1.7.2.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.maskedinput-1.3.min.js" type="text/javascript"></script>
    <script src="/Scripts/FormHandler.js" type="text/javascript"></script>
</head>
<body>
    <div id="WrapperDiv">
        <div id="TitleBar">    <!--Beginning of Title Bar-->
            <div style="padding-top: 30px; text-align: center;">Persons of Interest</div>
        </div>                 <!--End of Title Bar-->
        <div id="FormHolder">
            <form action="">
                <p><label>POI Name: </label><input type="text" id="POI Name" name="POI Name" value=""/></p>
            </form>
        </div>
    </div>
</body>
</html>

的JavaScript

jQuery(function ($) {
    $("#POI Name").mask("99/99/9999");
});

除此之外,我可以向您保证所引用的jQuery库确实存在 适当的目录。 (/脚本/...)

当我点击输入字段或任何内容时,我没有收到错误,它只是什么都不做。

3 个答案:

答案 0 :(得分:7)

jQuery选择器遵循标准的CSS语法,因此ID中间的空间实际上被视为后代选择器。让您的生活更轻松:在处理jQuery时,请将您的ID和类限制为字母数字,连字符以及相关信息。

澄清一下:jQuery中有一个引用/转义语法,但恕我直言,它处理起来太烦人了,因此我甚至没有给出一个例子。

答案 1 :(得分:4)

从ID中删除空格,然后尝试此

jQuery(function ($) {
    $("#POIName").mask("99/99/9999");
});

答案 2 :(得分:2)

空格在ID属性中无效。您应该将您的ID更改为$("#POIName")并更新您的HTML。

Jquery-ids-with-spaces是一个类似的问题,您可能会发现这个问题。