我正在尝试使用this jQuery mask input plugin来强制用户输入字母数字值,句号和空格。
我正在尝试使用下面的语句允许使用字母数字(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>
答案 0 :(得分:1)
Here is a fiddle演示用法,我添加了textarea
,因为这是您的控件将呈现为。
它不适合您的原因是因为您使用了错误的ID。
ASP中有3种不同类型的ID。 (you can find more info here)
- ID - 这是您在标记中指定的ID,或者通过设置控件的ID属性。
- UniqueID - 这是由ASP.NET生成的ID,供服务器上运行的代码使用。
- ClientID - 这是由ASP.NET生成以供客户端代码使用的ID(它在HTML中呈现为id属性的值)。
醇>
注意#3,这是您需要使用的属性才能访问渲染控件的ID。
在您的情况下,textbox
的呈现ID可能看起来像这样..
<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' });
});