为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

湖上湖 2022-01-13 16:56:44
有一个很好的解决方案来完成我在这里的目标,他们使用这个 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">就我而言,我没有<input...元素,而是<asp:TextBox元素,并且上面的功能不起作用。我使用了正确的元素 ID,但我仍然可以粘贴并键入空格。我错过了什么?
查看完整描述

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 的另一个问题是脚本需要内联在包含该控件的页面上。


查看完整回答
反对 回复 2022-01-13
?
翻阅古今

TA贡献1780条经验 获得超5个赞

看来您没有正确选择文本框项目。

您可以使用以下方法获取由 ASP.NET 生成的 HTML 标记的控件 ID ClientID

var text = document.getElementById('<%= txtText.ClientID%>');


查看完整回答
反对 回复 2022-01-13
  • 2 回答
  • 0 关注
  • 220 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信