js 在输入框中如何实现回退键功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 在输入框中如何实现回退键功能?相关的知识,希望对你有一定的参考价值。

一个输入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>

参考技术A <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>本回答被提问者采纳

Linux终端实现回退键(backspace)删除错误输入的功能

常见的终端输入情况

1.输入回显:在Linux系统的命令行里输入命令时,你在键盘输入什么,命令行就会显示什么。其实输入回显不是必要的,只是为了方便人来看的,大概原理就是系统接收到什么就在屏幕上输出什么。在Linux中输入密码时就没有输入回显,你输入密码时在命令行看不到任何输出,但实际已经输入。
2.回退键(backspace)删除功能:就是按回退键删除掉前一个输入的字符。这个也不是必须的,有的就不支持删除,只能不停的输入,如果输入错误就只能再从头输入。

示例代码

// 从stdio输出一个字符c
void putchar(char c)
{
	//如果是输出backspace,就先输出backspace再输出一个空格
	if (c == '\\b')
	{
		uart_putc('\\b');
		uart_putc(' ');
	}

	uart_putc(c);
}

代码分析

实现回退键删除分两步:第一步是将光标往前移动一格,第二步是输出一个空格,这样在屏幕上看到的效果就是删除掉了前一个字符。
补充:这里的代码只是将屏幕上显示的字符删除了,如果你有保存输入字符部分的代码,记得也要相应的删除。

以上是关于js 在输入框中如何实现回退键功能?的主要内容,如果未能解决你的问题,请参考以下文章

jquery实现一个一个输入的6位验证码,可回退删除

vue JS实现监听浏览器返回按键事件

android回退键不触发onkeydown事件

如何通过Js实现点击一组复选框,动态添加1个input输入框,输入框中自动填充所选复选框的内容呢?

Win 10应用开发响应系统回退键的导航事件

回退键刷新解决方案