【问题标题】:How To stop a user from type something in textbox with JS?如何阻止用户使用 JS 在文本框中输入内容?
【发布时间】:2015-07-28 10:37:06
【问题描述】:

您好,我正在练习 JS,我有一个关于 javascript 的问题。

我会让用户只输入字母,如果用户也决定输入数字,程序会阻止他/她。请不要使用 jQuery Answers,因为我对此一无所知。

这是我的代码......

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function vent (t)
{
	var m=/^[a-zA-Z]+$/
	 t=document.getElementById("txt");
	if(t.value.match(m))
	{
		alert("Co");
		return true;
	}
	    
	else
	{
		// I want to write my preventing code here.......
	}
}
</script>
</head>
<body>
<input type="text" id="txt" onBlur="vent (this)"/><br/>
<input type="text"/>
</body>
</html>

【问题讨论】:

标签: javascript


【解决方案1】:

当将用户输入限制为键值的子集时,您通常会使用onkeydown 事件而不是模糊。这样,您可以防止用户的击键被添加到输入值中,而不是在事后尝试将其删除。您需要做的就是取消事件,使用preventDefault() 或从keydown 处理程序返回false。请注意,对于较旧的浏览器,除了which 之外,您可能还需要检查keyCode,即var c = e.which || e.keyCode;,然后根据允许的范围检查c 的值。

function allowOnlyCharacters(e)
{
    return e.which == 16 || (e.which >= 65 && e.which <= 90);
}

var element = document.getElementById('txt');
element.onkeydown = allowOnlyCharacters;
<input type="text" id="txt"/><br/>
<input type="text"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 2018-04-07
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多