0

我正在尝试使用这个 jQuery 掩码输入插件,它将强制用户输入字母数字值、句点和空格。

我正在尝试使用以下语句允许字母数字(10 个字节)。

$('#CommentsTextBox').setMask({ mask: '****' });

但是,它不允许任何用户输入。我将输入掩码应用于我页面上的其他控件就好了。

如果我注释掉这个语句,那么我可以输入值。

这是控件中的代码.aspx

<asp:PlaceHolder ID="CommentsPlaceHolder" runat="server">
    <asp:TextBox ID="CommentsTextBox" CssClass="longTextBox" runat="server" MaxLength="150" TextMode="MultiLine" Rows="4" ClientIDMode="Static" />
</asp:PlaceHolder>    
4

1 回答 1

1

这是一个演示用法的小提琴textarea,我包括了一个,因为这就是您的控件将呈现的内容。

它不适合您的原因是因为您使用了错误的 ID。

ASP 中有 3 种不同类型的 ID。(你可以在这里找到更多信息)

  1. ID — 这是您在标记中或通过设置控件的 ID 属性指定的 ID。
  2. UniqueID — 这是由 ASP.NET 生成的 ID,供在服务器上运行的代码使用。
  3. ClientID — 这是一个由 ASP.NET 生成的 ID,供客户端代码使用(它在 HTML 中呈现为 id 属性的值)。

注意#3,这是您需要使用的属性才能访问呈现控件的 ID。

在您的情况下,您的渲染 IDtextbox可能看起来像这样..

<textarea ID='CommentsPlaceHolder?CommentsTextBox' />

这对您不起作用的原因是因为您没有 ID 为的控件CommentsTextBox

一个常见的做法是做这样的事情..

var Members =
{
    CommentsTextBox: $("#<%=CommentsTextBox.ClientID %>"),
    StartDateCalendarText: $('#<%=StartDateCalendarText.ClientID %>') 
}

$(document).ready(function()
{
    Members.CommentsTextBox.setMask({ 'mask': '**********' });
    Members.StartDateCalendarText.setMask({ 'mask': '99/99/9999' });
});
于 2014-01-31T01:27:38.670 回答