ASP.NET,TextBoxFor 使用 JQuery MaskedInput 不接受其他人输入的输入

ASP.NET, TextBoxFor using JQuery MaskedInput not accepting input when others do

当我在支持的 JavaScript 文件中为它分配 .mask("(999) 999-999"); 时,我有一个 @Html.TextBoxFor(...) 不接受任何输入,为什么?

有问题的文本框位于 MainFocus.cshtml 中 HTML:

<div id="telephoneNumber" class="col-sm-3" style="width: 22% !important;">
    <div>
        <label class="required">Telephone:</label>
    </div>
    <div>
        @Html.TextBoxFor(m => m.Telephone, new { id = "telephoneNumber", placeholder = "(xxx) xxx-xxxx", maxlength = "14" })
        @Html.ValidationMessageFor(m => m.Telephone)
    </div>
    [...]
</div>

然后我在这个 Javascript 文件中应用掩码,supportingScript.js:

$("#telephoneNumber").mask("(999) 999-9999");

当我 运行 网站时,被屏蔽的文本框根本不接受任何输入,尽管页面上的其他文本框在 [ 中也以相同的方式被屏蔽了=33=] 工作正常。

这是为什么?

这里的问题是 div 标签与文本框具有相同的 id 值:

<div id="telephoneNumber" ...>
@Html.TextBoxFor(m => m.Telephone, new { id = "telephoneNumber", ... })

只需从 div 标记中删除 id 或将其更改为 .cshtml 中其他地方未使用的值,您的文本框现在应该被正确屏蔽。