HTML input 实现回车切换到下一个输入框功能

前言

遇到需求,在客户填写单子时,有多个输入框,为了省事,不需要频繁移动光标填写。

实现效果

在这里插入图片描述

实现方式一

HTML

  <input type="text" name="serialNumber1" onkeydown="cursor(this);"/><input type="text" name="serialNumber2" onkeydown="cursor(this);"/><input type="text" name="serialNumber3" onkeydown="cursor(this);"/><input type="text" name="serialNumber4" onkeydown="cursor(this);"/>

JS

function focusNextInput(thisInput) {var inputs = document.getElementsByTagName("input");// 如果是最后一个,则焦点回到第一个for (var i = 0; i < inputs.length; i++) { if (i == (inputs.length - 1)) {inputs[0].focus(); break;} else if (thisInput == inputs[i]) {// 聚焦到该输入框,确保光标可见  inputs[i + 1].focus(); break;}}
}
function cursor(obj) {if (event.keyCode == 13) {focusNextInput(obj);}
}

实现方式二(推荐使用)

HTML

  <input type="text" name="serialNumber1" /><input type="text" name="serialNumber2" /><input type="text" name="serialNumber3" /><input type="text" name="serialNumber4" />

JS

$(document).ready(function () {$('input').on('keypress', function(event) {  // 在这里处理按键事件  if (event.keyCode == 13) { // 如果按下的是回车键  // 调用 focusNextInput 函数并传递当前的 input 元素  // 同上方法focusNextInput(this);  }  });  
});

问题及实现

  • 如果存在 input type=“checkbox” 如何跳过?如果存在 input type=“text” 输入框中存在值,想让光标自动移到数据最后面?
  function focusNextInput(thisInput) {let inputAlls = document.getElementsByTagName("input");let inputs = []for (var i = 0; i < inputAlls.length; i++) {let input = inputAlls[i]; if (input.type === "text" && !input.readOnly) {inputs.push(input)} }// 如果是最后一个,则焦点回到第一个for (var i = 0; i < inputs.length; i++) { if (i == (inputs.length - 1)) {inputs[0].focus(); break;} else if (thisInput == inputs[i]) {let textLength = inputs[i + 1].value.lengthif (textLength > 0) {// 光标自动移到数据最后面inputs[i + 1].selectionStart = textLength;  inputs[i + 1].selectionEnd = textLength;  // 聚焦到该输入框,确保光标可见  inputs[i + 1].focus(); break;} else {inputs[i + 1].focus(); break;}}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/290482.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DDos系列攻击原理与防御原理

七层防御体系 静态过滤 命中黑名单 对确定是攻击的流量直接加入黑名单&#xff08;源地址命中黑名单直接丢弃&#xff0c;缺乏机动性和扩展性&#xff09; 畸形报文过滤 畸形报文攻击 TCP包含多个标记位&#xff0c;排列组合有规律 • 现象&#xff1a;TCP标记位全为1 …

2015年认证杯SPSSPRO杯数学建模A题(第二阶段)绳结全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 A题 绳结 原题再现&#xff1a; 给绳索打结是人们在日常生活中常用的技能。对登山、航海、垂钓、野外生存等专门用途&#xff0c;结绳更是必不可少的技能之一。针对不同用途&#xff0c;有多种绳结的编制方法。最简单的绳结&#xff0c;有时称…

go发布包到github

1. 首先&#xff0c;我们在github上创建一个公有仓库并clone到本地 git clone https://github.com/kmust-why/gdmp-token.git cd gdmp-token/ 2. 在gdmp-token工程中初始化go.mod&#xff0c;其中后面的链接要跟github上创建的仓库和你的用户名对应 go mod init github.com…

谷歌seo怎么优化运营?

那些太大众的内容就不说了&#xff0c;在这里说一个后期谷歌seo可以去优化的一个方向&#xff0c;那就是电子邮件营销&#xff0c;这是一个间接营销seo的方案&#xff0c;电子邮件营销本身不会直接改变你在搜索结果中的排名&#xff0c;但它是一种强有力的工具&#xff0c;可以…

Scikit-Learn K近邻分类

Scikit-Learn K近邻分类 1、K近邻分类1.1、K近邻分类及原理1.2、超参数K1.3、K近邻分类的优缺点2、Scikit-Learn K近邻分类2.1、Scikit-Learn K近邻分类API2.2、K近邻分类实践(鸢尾花分类)2.3、交叉验证寻找最佳K2.4、K近邻分类与Pipeline1、K近邻分类 K近邻是一种常用的分类…

【单调栈】力扣84.柱状图中最大的矩形

上篇文章我们介绍了使用 无重复值 单调栈代码解决 含有重复值 的问题&#xff0c;在文章的最后&#xff0c;留下了一道考察相同思想的题目&#xff0c;今天我们来看看如何套路解决该题。 &#xff08;还没看过前几篇介绍的小伙伴赶快关注&#xff0c;在 「单调栈」 集合里查看…

用DataGrip连接hive时报错:User: root is not allowed to impersonate plck5,解决方法

你可以尝试关闭主机校验 修改hive安装目录下conf/hive-site.xml,将hive.server2.enable.doAs设置成false <property><name>hive.server2.enable.doAs</name><value>false</value><description>Setting this property to true will have H…

element-ui autocomplete 组件源码分享

紧接着 input 组件的源码&#xff0c;分享带输入建议的 autocomplete 组件&#xff0c;在 element-ui 官方文档上&#xff0c;没有这个组件的 api 目录&#xff0c;它的 api 是和 input 组件的 api 在一起的&#xff0c;看完源码之后发现&#xff0c;源码当中 autocomplete 组件…

java 抠取红色印章(透明背景)

一个亲戚让我帮他把照片里的红色印章抠出来&#xff0c;&#xff0c;&#xff0c;记录下处理过程&#xff0c;代码如下&#xff0c;可直接用&#xff1a; public static void signatureProcess(String sourceImagePath, String targetImagePath) {Graphics2D graphics2D null…

网络七层模型之传输层:理解网络通信的架构(四)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

算法---动态规划练习-7(按摩师)【类似打家劫舍】

按摩师 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址&#xff1a;点这里 2. 讲解算法原理 首先&#xff0c;给定一个整数数组 nums&#xff0c;其中 nums[i] 表示第 i 天的预约时间长度。 定义两个辅助数组 f 和 g&#xff0c;长度都为 n&#xff08;n 是数组…

Android14之深入理解sp模板类(二百零二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

linux安装Zookeeper的详细步骤

1.Java环境确认 确保已经安装了Java环境&#xff0c;没有的自行安装 2.官网下载包 Apache ZooKeeper 3.安装 3.1上传到linux&#xff0c;解压 我的目录为/root/apache-zookeeper-3.8.4-bin 进入到/root/apache-zookeeper-3.8.4-bin/conf目录下&#xff0c;执行命令复制zoo…

没学数模电可以玩单片机吗?

我们首先来看一下数电模电在单片机中的应用。数电知识在单片机中主要解决各种数字信号的处理、运算&#xff0c;如数制转换、数据运算等。模电知识在单片机中主要解决各种模拟信号的处理问题&#xff0c;如采集光照强度、声音的分贝、温度等模拟信号。而数电、模电的相互转换就…

这次轮到小米,遥遥领先!

年轻人的第一辆保时米 3 月28日晚小米首款汽车小米汽车 SU7 正式发布并上市&#xff0c;新车定位于“C 级高性能生态科技轿车”&#xff0c;提供双电机版本和单电机版本车型选择&#xff0c;并提供容量为 73.6 千瓦时以及 101 千瓦时电池可选&#xff0c;售价 21.59 万元-29.99…

容器镜像加速指南:探索 Kubernetes 缓存最佳实践

介绍 将容器化应用程序部署到 Kubernetes 集群时&#xff0c;由于从 registry 中提取必要的容器镜像需要时间&#xff0c;因此可能会出现延迟。在应用程序需要横向扩展或处理高速实时数据的情况下&#xff0c;这种延迟尤其容易造成问题。幸运的是&#xff0c;有几种工具和策略…

CSGO赛事管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文&#xff08;设计&#xff09;学生选题参考合集推荐收藏&#xff08;包含Springboot、jsp、ssmvue等技术项目合集&#xff09; 目录 1. 系…

【能省则省】搭建网站仅50/年 云服务器选择建议 程序员职场刚需云产品 附最新价格对比表

《最新对比表》已更新在文章头部—腾讯云文档&#xff0c;文章具有时效性&#xff0c;请以腾讯文档为准&#xff01; 【腾讯文档实时更新】云服务器1分钟教会你如何选择教程 2024-开年采购活动 云服务器专区 京东云 阿里云 腾讯云 配置最新价格表 与 官方活动地址 ​ 当前活动…

【蓝桥杯省赛真题36】python最佳排列方式 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

目录 python最佳排列方式 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python最佳排列方式 第十三届蓝桥杯青少年组python比赛省赛真题 一、…

实验报告-02

实验室开放项目实验报告 实验名称&#xff1a;实验二 简单数据处理问题&#xff08;一&#xff09; 实验目的&#xff1a;熟练掌握一些简单数据处理的方法 实验内容&#xff1a; 在本地电脑中新建一个文件夹&#xff0c;用于存放C源程序&#xff0c;文件夹的名字要求是“学…