【问题标题】:Javascript validation C#.NETJavascript 验证 C#.NET
【发布时间】:2014-12-29 14:29:43
【问题描述】:

我在验证文本框以不允许间距时遇到问题。当用户输入一个空间时,我希望它显示一条警告消息,然后清除文本框,但文本框不清除。这就是我到目前为止所拥有的。

function ValidateSpace () {
    var SerNum = document.getElementById("txtbox1")
    if (event.keyCode == 32) {
        alert("This field may contain no spaces.");
        document.getElementById ("txtbox1").value=""
       } 
   } 

我有用户试图在这个空间中放置多个条目,但它应该只接受一个。该文本框用于库存目的,因此如果我要删除空格,它将改变数据的性质

【问题讨论】:

  • 请注意,不要清除输入,因为人们最好从输入中删除空格,而不是重新输入整个内容。如果空格是您的问题,为什么不只是 C# 中的 .Replace(" ","") 来删除空格并将其替换为空?
  • 什么不适合你?你说你有问题,但不是哪一个……
  • 另外,请提供有效的代码sn-ps。目前你缺少一个 ) 和一个 }
  • 检查 DOM 以查看您的文本框 ID 是否未更改。
  • 我不明白。您写道不允许使用空格,但也不能删除它们..?这不与你的约束相矛盾吗?

标签: javascript c# asp.net validation


【解决方案1】:

我想你必须在文本框上绑定 keyDown 事件

试试这个 jquery 代码来删除活动空间

$("#IdOfTheTextBox").on("keydown", function (e) {
    return e.which !== 32;
});​​​​​

如果您不能使用 jquery,请尝试使用此 javascript 函数(文本框的 onkeypress 事件)

function NoSpace() { 
     if (event.keyCode == 32) { 
           event.returnValue = false; 
           return false; 
     } 
 }

如果你想在输入后删除空格,你可以这样做

var noSpaces = document.getElementById("txtbox1").value.replace(/\s/g, "");

【讨论】:

  • 我打算尽快发布我的答案,但我发现我正在寻找的内容与您的 NoSpace 函数类似的代码略有不同。刚刚添加了一个警报。感谢您的快速回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-28
  • 2017-04-05
  • 1970-01-01
  • 1970-01-01
  • 2011-04-13
  • 2013-10-25
相关资源
最近更新 更多