我有一个表单,只允许在文本框中输入数字,或者出现警告:
<form name="formName" action="" method="post" OnSubmit="return chkSubmit();">
Input Number
<input type="text" name="txtNumber" value="">
<input type="submit" name="btnSubmit" value="Submit">
</form>
使用以下javascript:
<script>
function chkSubmit()
{
if(isNaN(document.formName.txtNumber.value))
{
alert('Please input numbers only.');
return false;
}
}</script>
如何只允许输入4个字符?没有警报,只是阻止用户输入超过4个字符。
答案 0 :(得分:5)
input
个元素支持maxlength
attribute,例如:
<input type="text" name="txtNumber" value="" maxlength="4">
...然后由用户代理(浏览器)强制执行。你也可以在chkSubmit
中强制执行它,如果你想要一个腰带和括号的方法,通过检查value
属性的长度,但它已经永远存在,我怀疑你会找到一个用户不处理它的代理。
RobG的观点(在对问题的评论中)也是很好的:在表单提交之前限制用户往往会对他们感到恼火。它可能适用于您的用例,也可能不适用,但至少考虑不限制它们(但可能使用keypress
事件提供一些视觉反馈),并且仅在提交时验证长度,Stack Overflow的工作方式评价。
答案 1 :(得分:1)
使用 maxlength
<form name="formName" action="" method="post" OnSubmit="return chkSubmit();">
<input type="text" name="txtNumber" maxlength="4" value="" />
<input type="submit" name="btnSubmit" value="Submit" />
</form>