由于高级项目需要,本人折腾了近2小时修改了一个类似windows ip设置部分的ip地址输入筐,自己觉得近呼完美(有点夸张了,呵呵),大家可以测试使用,然后有问题或者改进意见请跟贴,或者直接mail联系我。
- <style type=textcss>
- .ip_input { width:20px; height:16px; font:normal 12px 宋体; color:#000000; border:0px; text-align:center; position:relative; top:1px; }
- .all_input { width:112; height:20px; font:normal 8px 宋体; color:#000000; border:1px solid #000000; text-align:center; }
- </style>
- <script language=javascript>
- function getPos(obj)
- {
- obj.focus();
- var workRange=document.selection.createRange();
- obj.select();
- var allRange=document.selection.createRange();
- workRange.setEndPoint("StartToStart",allRange);
- var len=workRange.text.length;
- workRange.collapse(false);
- workRange.select();
- return len;
- }
- function setCursor(obj,num)
- {
- range=obj.createTextRange();
- range.collapse(true);
- range.moveStart('character',num);
- range.select();
- }
- function keyDownEvent(obj)
- {
- code=event.keyCode;
- if(!((code>=48&&code<=57)||(code>=96&&code<=105)||code==190||code==110||code==13||code==9||code==39||code==8||code==46||code==99|| code==37))
- event.returnValue=false;
- if(code==13)
- event.keyCode=9;
- if(code==110||code==190)
- if(obj.value)
- event.keyCode=9;
- else
- event.returnValue=false;
- }
- function keyUpEvent(obj0,obj1,obj2)
- {
- if (obj1.value > 255)
- {
- alert("填写范围必须在 0 - 255间");
- obj1.value = obj1.value.substring(0, obj1.value.length - 1);
- return;
- }
- code=event.keyCode
-
- if(obj1.value.length>=3&&code!=37&&code!=39&&code!=16&&code!=9&&code!=13)
- obj2.focus();
-
- if(code == 32)
- obj2.focus();
- if(code == 8 && obj1.value.length == 0)
- {
- obj0.focus();
- setCursor(obj0,obj0.value.length);
- }
- if (code == 37 && (getPos(obj1) == 0))
- {
- obj0.focus();
- setCursor(obj0,obj0.value.length);
- }
- if (code == 39 && (getPos(obj1) == obj1.value.length))
- {
- obj2.focus();
- }
- }
- function keyUpEventForIp4(obj0,obj)
- {
- if (obj.value > 255)
- {
- alert("填写范围必须在 0 - 255间");
- obj.value = obj.value.substring(0, obj.value.length - 1);
- return;
- }
- if(code == 8 && obj.value.length == 0)
- {
- obj0.focus();
- setCursor(obj0,obj0.value.length);
- }
- if (code == 37 && (getPos(obj) == 0))
- {
- obj0.focus();
- setCursor(obj0,obj0.value.length);
- }
- }
- function getipvalue(obj1,obj2,obj3,obj4,obj)
- {
- obj.value = obj1.value + "." + obj2.value + "." + obj3.value + "." + obj4.value;
- alert(obj.value);
- }
- </script>
- <form>
- <div class=all_input>
- <input name=ip1 class=ip_input maxlength=3 onkeydown=keyDownEvent(this) onkeyup=keyUpEvent(ip1,ip1,ip2)>?<input
- name=ip2 class=ip_input maxlength=3 onkeydown=keyDownEvent(this) onkeyup=keyUpEvent(ip1,ip2,ip3)>?<input
- name=ip3 class=ip_input maxlength=3 onkeydown=keyDownEvent(this) onkeyup=keyUpEvent(ip2,ip3,ip4)>?<input
- name=ip4 class=ip_input maxlength=3 onkeydown=keyDownEvent(this) onkeyup=keyUpEventForIp4(ip3,ip4)>
- <input name = ipvalue TYPE="hidden">
- </div>
- <INPUT TYPE="button" value = "getvalue" onmouseup=getipvalue(ip1,ip2,ip3,ip4,ipvalue)>
- </form>
另存为html就可以显示,使用时务必使您的ie不要干涉javascript的运行。附件:a.htm(2K) 作者:桂静秋
|
|