Javascript ASP.NET和C#:键入和粘贴时从ASP.TextBox中删除空格
有一个很好的解决方案来完成我所追求的目标,他们使用这个javascript函数:Javascript ASP.NET和C#:键入和粘贴时从ASP.TextBox中删除空格,javascript,c#,asp.net,webforms,removing-whitespace,Javascript,C#,Asp.net,Webforms,Removing Whitespace,有一个很好的解决方案来完成我所追求的目标,他们使用这个javascript函数: var text = document.getElementById('txtText'); text.addEventListener('input', function(e){ var keyCode = e.keyCode ? e.keyCode : e.which; this.value = this.value.replace(/\s/g, '') if(keyCode === 32) ret
var text = document.getElementById('txtText');
text.addEventListener('input', function(e){
var keyCode = e.keyCode ? e.keyCode : e.which;
this.value = this.value.replace(/\s/g, '')
if(keyCode === 32) return;
})
它应用于以下元素:
<input type='text' id="txtText">
在我的例子中,我没有一个
,似乎您没有正确选择文本框项目
您可以使用ClientID
获取ASP.NET生成的HTML标记的控件ID,如下所示:
var text = document.getElementById('<%= txtText.ClientID%>');
var text=document.getElementById(“”);
我将使用一个类名并将脚本绑定到具有该类的元素。那么您就不需要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>
$('.NoSpaces').bind('keyup blur',函数(e){
var-keyCode=e.keyCode?e.keyCode:e.which;
this.value=this.value.replace(/\s/g,“”)
if(keyCode==32)返回;
});
如果确实要使用ClientID,请执行以下操作
$('#<%= TextBox1.ClientID %>').bind('keyup blur', function (e) {
$('#').bind('keyup blur',函数(e){
但是,如果输入不是aspnet控件(asp:TextBox
或使用runat=server
输入)然后它就不起作用了。ClientID的另一个问题是脚本需要内联到包含该控件的页面上。这是否回答了您的问题?这起作用了!我仍然无法理解为什么使用“
的解决方案不起作用……我添加了更多的示例。