js 在输入框中如何实现回退键功能?
一个输入IP的table,比如输入IP到了第二个text发现错了,想删除包括第一个text里的内容,用回退键实现,要怎麼做呢?求助高手,谢谢!<tableid="tabl...
一个输入IP的table,比如输入IP到了第二个text发现错了,想删除包括第一个text里的内容,用回退键实现,要怎麼做呢?求助高手,谢谢!
<table id="table_StaticIP" >
<td>IP Address</td>
<td><INPUT type="text" maxLength=3 size=1 id="ip" value=0 name="StaticWanIpAddressIP0"><b>.</b>
<INPUT type="text" maxLength=3 size=1 value=0 name="StaticWanIpAddressIP1"><b>.</b>
<INPUT type="text" maxLength=3 size=1 value=0 name="StaticWanIpAddressIP2"><b>.</b>
<INPUT type="text" maxLength=3 size=1 value=0 name="StaticWanIpAddressIP3"></td>
</table> 展开
<table id="table_StaticIP" >
<td>IP Address</td>
<td><INPUT type="text" maxLength=3 size=1 id="ip" value=0 name="StaticWanIpAddressIP0"><b>.</b>
<INPUT type="text" maxLength=3 size=1 value=0 name="StaticWanIpAddressIP1"><b>.</b>
<INPUT type="text" maxLength=3 size=1 value=0 name="StaticWanIpAddressIP2"><b>.</b>
<INPUT type="text" maxLength=3 size=1 value=0 name="StaticWanIpAddressIP3"></td>
</table> 展开
1个回答
展开全部
<table id="table_StaticIP" >
<td>IP Address</td>
<td>
<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(0)" name="ip"><b>.</b>
<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(1)" name="ip"><b>.</b>
<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(2)" name="ip"><b>.</b>
<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(3)" name="ip"></td>
</table>
<script type="text/javascript">
var d = document.getElementsByName("ip");
function check(k){
if(k < 0 || k >= d.length)return;
var t = d[k].value.replace(/\D/ig, "");
if(t > 255)t = 255;
d[k].value = t;
var e = window.event.keyCode;
if(e == 13 || e == 190 || e == 110){ // 如果输入是回车或者.号 110 - 小键盘 190 - 大键盘 13 - 回车
d[k + 1].focus();
d[k + 1].select();
}
else if(e == 8){ // backspace = 8
if(t == "" && k > 0){
d[k - 1].focus();
move_end(d[k - 1]);
}
}
else{
if(t.length >= 3 && k < d.length - 1){
d[k + 1].focus();
d[k + 1].select();
}
}
}
function move_end(e){ //光标移到最后
var r = e.createTextRange();
r.moveStart('character',e.value.length);
r.collapse(true);
r.select();
}
</script>
<td>IP Address</td>
<td>
<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(0)" name="ip"><b>.</b>
<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(1)" name="ip"><b>.</b>
<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(2)" name="ip"><b>.</b>
<INPUT type="text" maxLength=3 size=3 value=0 onkeyup="check(3)" name="ip"></td>
</table>
<script type="text/javascript">
var d = document.getElementsByName("ip");
function check(k){
if(k < 0 || k >= d.length)return;
var t = d[k].value.replace(/\D/ig, "");
if(t > 255)t = 255;
d[k].value = t;
var e = window.event.keyCode;
if(e == 13 || e == 190 || e == 110){ // 如果输入是回车或者.号 110 - 小键盘 190 - 大键盘 13 - 回车
d[k + 1].focus();
d[k + 1].select();
}
else if(e == 8){ // backspace = 8
if(t == "" && k > 0){
d[k - 1].focus();
move_end(d[k - 1]);
}
}
else{
if(t.length >= 3 && k < d.length - 1){
d[k + 1].focus();
d[k + 1].select();
}
}
}
function move_end(e){ //光标移到最后
var r = e.createTextRange();
r.moveStart('character',e.value.length);
r.collapse(true);
r.select();
}
</script>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询