如何保存输入框中的值???

sea123 2001-09-21 08:18:23
有一个<input type=text value="">
里面只可以输入数字0-9,如输入的不是数字,则禁止输入,如输入的数字超过范围,则给出提示,且输入框中的值返回原先的内容。

如何用js来实现,请给我程序,谢谢,一定给分的。
...全文
219 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
snwcwt 2001-09-24
  • 打赏
  • 举报
回复
这个如何?


<html>
<head>
<title></title>
<script language="javascript">
<!--
var Max = 65535;
var temp = "";
function verifyInput()
{
var value = window.event.keyCode;
if( (value<48 || value>57) && value!=27 && value!=8 && value!=13 && value!= 37 && value!= 39 && value!=46 && value!=35 && value!= 36 )
return false;
}
function verifyMax()
{
var tn;
tn = parseInt(number.value);
if(isNaN(tn))
{
alert("不是个数字啊!");
return;
}
if(tn>Max)
{
alert("数字"+temp+"太大了!");
number.value = temp;
}
else
temp = number.value;
}
-->
</script>
</head>
<body>
请输入数字:<input type="text" name="number" onkeydown="return verifyInput()" onkeyup="verifyMax()">
</body>
</html>
snwcwt 2001-09-24
  • 打赏
  • 举报
回复
禁止输入非数字时还得注意不要禁止退格键(输错咋办?)、不要禁止回车键(这样提交表单方便啊)、不禁止Esc键(取消输入就方便,呵呵)。
用parseInt()来将输入的字符串转换为数字.

parseInt("wda"); //返加NaN,可用isNaN()判断
parseInt("31add"); // 返回31

差不多了吧?
wilddragon 2001-09-24
  • 打赏
  • 举报
回复
支持一把
snwcwt 2001-09-24
  • 打赏
  • 举报
回复
这样似乎要好一点。


<html>
<head>
<title></title>
<script language="javascript">
<!--
var Max = 3;
var temp = "";
function verifyInput()
{
var value = window.event.keyCode;
if( (value<48 || value>57) && value!=27 && value!=8 && value!=13 && value!= 37 && value!= 39 && value!=46 && value!=35 && value!= 36 )
return false;
return true;
}
function verifyMax()
{
var tn;
tn = parseInt(number.value);
if(!verifyInput())
number.value = temp;
if(isNaN(tn))
{
alert("不是个数字啊!");
return;
}
if(tn>Max)
{
alert("数字"+tn+"太大了!");
number.value = temp;
}
else
temp = number.value;
}
-->
</script>
</head>
<body>
请输入数字:<input type="text" name="number" onkeyup="verifyMax()">
</body>
</html>
wilddragon 2001-09-22
  • 打赏
  • 举报
回复
支持一把
wilddragon 2001-09-21
  • 打赏
  • 举报
回复
支持支持
zhq2000 2001-09-21
  • 打赏
  • 举报
回复
<input type=text id=x name=x value=0 size=3 maxlength=1 orgValue="0" onfocus="this.orgValue=this.value;" onblur="checkKey(this);" >

<script language=javascript>
function checkKey(theControl)
{
if(theControl.value < '0' || theControl.value > '9')
theControl.value = theControl.attributes["orgValue"].value;
}
</script>
孟子E章 2001-09-21
  • 打赏
  • 举报
回复
数字的event.keyCode=48-57,96-105的范围
<body onkeydown="alert(event.keyCode)">
孟子E章 2001-09-21
  • 打赏
  • 举报
回复
类似的:
加上数字判断即可
<SCRIPT LANGUAGE="JavaScript">
<!--//
function textCounter(field, countfield, maxlimit) {
// 定义函数,传入3个参数,分别为表单区的名字,表单域元素名,字符限制;
if (field.value.length > maxlimit)
//如果元素区字符数大于最大字符数,按照最大字符数截断;
field.value = field.value.substring(0, maxlimit);
else
//在记数区文本框内显示剩余的字符数;
countfield.value = maxlimit - field.value.length;
}
//-->
</SCRIPT>

如下是表单区,在HTML的<body>...</body>之间:action志向任意指定的处理程序。

<form name=myform action="">
<textarea name=message wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.message,this.form.remLen,125);" onKeyUp="textCounter(this.form.message,this.form.remLen,125);">
</textarea>
<br>
尚能输入
<input readonly type=text name=remLen size=4 maxlength=3 value="125">
个字符</div>
</form>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧