我有一个限制文本输入的函数:
function alphaNumericSpace(inInput) {
inInput.value = inInput.value.replace(/[^\w ]/g, "").replace(/^ +|( ) +/g, "$1");
}
以下是使用它的文本输入示例:
<input name="type" type="text" maxlength="32" onkeyup="alphaNumericSpace(this);">
这个想法是允许用户知道在输入时会发生的文本清除类型(只允许使用单个空格的字母数字字符,最后的最后一个空格 - 如果有的话 - 在PHP)。
然而,这有两个我想解决的问题:
onkeyup
事件,然后点击&#34;提交&#34;同时。这导致
要提交的不需要的字符答案 0 :(得分:2)
答案 1 :(得分:0)
我不会禁用显示的不良字符,用户可能找不到那种友好但这是一种主观意见。
他们可以提交不良数据不是问题。您永远不会信任来自浏览器的数据到您的服务器。他们总是可以禁用javascript等
如果出于可用性目的,您不希望发生提交,则可以执行此类操作。
编辑:没有jquery ...对不起,你可以使用 FormOnSubmit
<from id="myid" onsubmit="formsubmit"
function formsubmit () {
e.preventDefault(); // this will prevent the submit.
// Check for good data
// if good submit, else reject the submit
});
如果你真的不想让它们显示keydown
应该适合你