Javascript 防止在ASP.net页面上的所有文本框中输入字符
我有一个用于以编程方式创建文本框的面板。当用户单击“保存”时,这些文本框中的值需要连接起来,我需要一个字符来分隔每个值。为此,我使用了逗号(ASCII代码44)。因为我使用的是逗号,所以我想防止在我的文本框列表中的任何文本框中输入任何其他逗号。做这件事的最佳方式是什么?如果jQuery是一个选项,您可以这样做Javascript 防止在ASP.net页面上的所有文本框中输入字符,javascript,c#,asp.net,Javascript,C#,Asp.net,我有一个用于以编程方式创建文本框的面板。当用户单击“保存”时,这些文本框中的值需要连接起来,我需要一个字符来分隔每个值。为此,我使用了逗号(ASCII代码44)。因为我使用的是逗号,所以我想防止在我的文本框列表中的任何文本框中输入任何其他逗号。做这件事的最佳方式是什么?如果jQuery是一个选项,您可以这样做 $(".no-comma-textbox").on("keydown", function(e){ if (e.which == 188){ e.preventDefa
$(".no-comma-textbox").on("keydown", function(e){
if (e.which == 188){
e.preventDefault();
}
});
所有文本框都应该有class=“无逗号文本框”
(注意:当我测试时,188似乎是逗号的正确值,至少在Chrome中是如此)尝试使用
oninput
事件附加到document
,String.prototype.slice()
document.oninput=函数(e){
如果(如目标值切片(-1)=“,”){
e、 target.value=e.target.value.slice(0,-1)
}
}
var输入=document.createElement(“输入”);
输入.setAttribute(“类型”、“文本”);
setAttribute(“名称”、“input2”);
document.body.appendChild(输入)代码>
在用户发送POST请求后,您可以删除或替换文本框值中的所有逗号,然后用逗号连接。如果你想添加额外的风格,你可以在文本框中添加一个onkeyup函数,如果添加的字符是逗号,则返回false。我没有什么好的建议,只是要提到,当我们需要一个好的分隔符时,我们使用管道,因为一般来说,其他人都不想键入它。这个链接指向一个类似的问题注释:你不能控制客户端,所以你不能依赖你在UI中所做的任何事情。即使UI不允许,服务器也应该检查值。