2 回答
TA贡献1830条经验 获得超3个赞
我会使用一个类名并将脚本绑定到该类的元素。然后你不需要 ClientID 并且它适用于多个元素。
<asp:TextBox ID="TextBox1" runat="server" CssClass="NoSpaces"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server" CssClass="NoSpaces"></asp:TextBox>
<script>
$('.NoSpaces').bind('keyup blur', function (e) {
var keyCode = e.keyCode ? e.keyCode : e.which;
this.value = this.value.replace(/\s/g, '')
if (keyCode === 32) return;
});
</script>
如果您确实想使用 ClientID,请执行此操作
$('#<%= TextBox1.ClientID %>').bind('keyup blur', function (e) {
但是,如果输入不是 aspnet 控件(asp:TextBox或带有 的输入runat=server),那么它将不起作用。ClientID 的另一个问题是脚本需要内联在包含该控件的页面上。
TA贡献1780条经验 获得超5个赞
看来您没有正确选择文本框项目。
您可以使用以下方法获取由 ASP.NET 生成的 HTML 标记的控件 ID ClientID
:
var text = document.getElementById('<%= txtText.ClientID%>');
添加回答
举报