首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

高校实习,接到一个奇怪的要求,实在不会,请高手帮忙

2012-08-07 
大学实习,接到一个奇怪的要求,实在不会,请高手帮忙本来是要求限制输入的格式的,格式不对就要有提示,写完后

大学实习,接到一个奇怪的要求,实在不会,请高手帮忙
本来是要求限制输入的格式的,格式不对就要有提示,写完后,又提了一个奇怪的要求:
  输入数字的地方只能输入数字,其他的一概不显示。其他输入框也是。
  
后来写了一段就是自动删除的交了上去,就是输入的不是数字就自动删除的那种,结果还是不行,说要求的是不显示,意思就是输入框都不能显示那些不合要求的,是输入的不合要求的内容就看都看不到,后来去查了很多网上的资料,都没怎么找到有用的,去问了一些人,说好像是需要一个控件。



实在是不会啊,查了资料都没有很大的用处,希望知道的高手能写给我,谢谢,最好能有注释,方便我改,能用到其他的输入框去。

[解决办法]
这样?

JScript code
<input id="txt1" type="text"/><script>var input = document.getElementById('txt1');input.onkeydown = function(e){  var evt = e || event;  var keyCode = evt.which || evt.keyCode;  var isBack  = keyCode == 8;  var isEnter = keyCode == 13;  var isDel   = keyCode == 46;  var isNum   = (       (keyCode >= 96 && keyCode <= 105)  //小键盘区数字键    || (keyCode >= 48 && keyCode <= 57 )  //大键盘区数字键  );    //若为数字、回车、删除、退格允许输入,否则禁止  return (isNum || isDel || isBack || isEnter);};</script>
[解决办法]
JS可以限制不能输入,一点都不显示真不行,这应该涉及到修改浏览器控件。
JScript code
        <input type="text" id="num" >        <script type="text/javascript">        <!--            var text = document.getElementById("num");            text.onkeydown = function(){                setTimeout(function(){                                        while(text.value.match(/[^\d]+/)){                        text.value=text.value.slice(0,-1)                    }                },10);                        }            text.onpaste = function(){                return false;            }            text.ondragenter = function(e){                                return false;            }        //-->        </script>
[解决办法]
百度:js控制文本框只能输入数字
很多答案

刚毕业,首先学会怎么解决问题,实在解决不了的,再到这儿提问。

这样自己才能学到更多。

<input onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" />

说明
1 只能输入0到9和小数点
2 只能粘贴数字
3 不能拖动内容进来
4 禁止使用输入法


这段代码和楼上的代码 综合一下,就更好了。
[解决办法]
你的意思是input框只显示数字,非数字的不显示;但是Input框的内容还不能变,后面还要用;

办法是这样的:
(1)input框的实际内容放到一个公共变量里面,
(2)input框的展示内容为实际内容中的所有数字

jquery代码如下:

$(function(){
 var globalText = "" ;//全局变量,保存Input框里面的全部内容
 $("#div1").bind("keyup",function()//检测输入是否数字,不是数字将内容转换为纯数字的,将实际内容保存到一个公共变量中,供调用
 { 
var temp = $(this).val();//实际内容
var ss = temp.replace(/[\D]/,"");//屏蔽非数字后的字符串
globalText = temp;//原来的字符串保存到公共变量
$(this).val(ss);//更改Input值
alert(globalText);
 });
});

<input id="div1" type="text" value=""/>

热点排行