技术开发 频道

一个在WEB页面输入IP地址的输入框

【IT168 技术文档】

  由于高级项目需要,本人折腾了近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的运行。
0
相关文章