Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP.NET和C#:键入和粘贴时从ASP.TextBox中删除空格_Javascript_C#_Asp.net_Webforms_Removing Whitespace - Fatal编程技术网

Javascript ASP.NET和C#:键入和粘贴时从ASP.TextBox中删除空格

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

有一个很好的解决方案来完成我所追求的目标,他们使用这个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) 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的另一个问题是脚本需要内联到包含该控件的页面上。

这是否回答了您的问题?这起作用了!我仍然无法理解为什么使用
的解决方案不起作用……我添加了更多的示例。