我们有的时候会让用户在一个 html 是 textarea 的空间中输入很多记录,如:员工的编号。随着记录是输入需要和后台进行交互。但是我们希望交互的次数是合理的,减少后台系统的压力。
场景举例:我们有一个 web 页面需要用户在textarea输入人员的手机号码,可以输入多个号码使用英文逗号分隔,在textarea的键盘 keyup 事件中我们希望用户输入手机号码(一般最短的是11位,可能加上前面的国际编号+86等手机号码会超过11位的长度),当输入的内容大于等于11的时候想后台发起一次请求。如果用户在这个号码之后继续输入英文分隔符,不发起后台请求,继续当输入的内容大于等于11的时候想后台发起一次请求。依次循环检查输入内容的合法性,向后台发起请求。我们要求请求数量尽可能的少。
我这里假设使用的是 jquery 框架,代码如下:
$('#textareaId').bind('keyup', function() { var teamMembersEmpIdsRegex = /^(?:\d{11,},?)+$/; var val = $.trim($(this).val()); var size = val.length; var postion = val.lastIndexOf(','); var flag = (postion == size -1); //发现逗号作为字符串的结尾 // teamMembersEmpIdsRegex 正则表达式中指定了触发的字符串长度 // 字符串结尾是英文逗号的时候,不出发 ajax 请求 if (teamMembersEmpIdsRegex.test(val) && !flag) { debug('hello11==world ', val,' flag:',flag,' val.lastIndexOf(','):',val.lastIndexOf(',') ,' val.length:',val.length); // TODO // ajax code here } });
重点在两处:正则表达式和对最后结尾是英文逗号的判断。
相关推荐
在处理日期选择时,特别是在需要用户选取多个日期并以特定格式(如逗号隔开)显示的场景下,jQuery的插件和自定义功能显得尤为重要。本文将深入探讨如何使用jQuery实现“日期空间多选,多个日期逗号隔开”的功能。 ...
返回的数据通常以逗号分隔,方便JavaScript进行解析。 此外,在用户点击下拉框选项时,输入框的值会根据选中的项更新,同时下拉框会隐藏,以避免干扰用户进行下一步操作。值得注意的是,这里还添加了一个阻止事件...
然后,可以使用JavaScript或jQuery来处理输入值,插入逗号分隔符,并将处理后的值实时更新到页面的其他位置进行回显。此外,为了保证输入的有效性,可能还需要进行一些验证,比如检查是否只允许数字输入,不允许输入...
此外,项目可能还涉及错误处理、格式化数字(例如添加逗号分隔符)、货币符号的显示等方面。如果是一个完整的Web应用,可能还会包含响应式设计,以适应不同设备的屏幕尺寸。 总的来说,"conversor-javascript"项目...
服务器端(例如Java的JSP页面)接收到请求后,根据关键字查询数据库或缓存,找到匹配的搜索建议,并以逗号分隔的字符串形式返回。在客户端,我们通过`responseText`属性获取这个字符串,然后将其分割成数组,遍历...
用户可以通过输入框输入查询内容,点击按钮触发异步请求,JavaScript会向服务器发送AJAX请求,获取查询结果,并在页面上动态展示。 总的来说,《中国省市县结构图》这个项目结合了Java后端开发、txt文件处理、...
当用户确认删除后,通过`$.post`发送一个AJAX请求到服务器,调用`product_deleteByIds.action`接口,并将选中记录的ID以逗号分隔的字符串形式作为参数传递。服务器接收到请求后,执行删除操作,如果成功,会返回字符...
- 加密列选择:用户通过输入框(`el-input`)输入要加密的列号,用逗号分隔。 - 加密算法选择:使用下拉框(`el-select`)让用户选择加密算法,如 MD5 和 SHA 系列。 5. 后端技术: - `Flask`:Python 的轻量级 ...
转换后的结果需要按照货币的格式进行显示,比如使用逗号分隔千位,加上货币符号等。JavaScript的`Number.prototype.toFixed`方法可以用来控制小数位数,`toLocaleString`可以用于本地化格式化数字。 8. **模板字符...
7. **数字格式化**:确保输出的货币值符合标准格式,例如添加逗号分隔符。 8. **错误处理**:处理可能出现的异常情况,如无效的输入或网络错误。 9. **响应式设计**:如果涉及到移动网络专家跟踪,项目可能需要适应...
JSON数据以键值对的形式存在,键与值之间使用冒号分隔,键值对之间使用逗号分隔,整个数据包裹在大括号{}内。例如,创建一个名为“hero”的对象,包含“name”和“hp”两个属性,可以表示为:`{"name": "张三", "hp...
4. **回填输入框**:用户的选择可以实时反映在输入框中,可能是以逗号分隔的形式。这需要将选中项的文本添加到输入框的值中。 5. **关闭与隐藏**:当用户完成选择或者点击其他地方时,多选框应能优雅地收起。这可以...
5. **数据格式化**: 响应的汇率数据需要被解析并适当地格式化为货币值,这通常涉及到数字格式化,例如添加逗号分隔符,以及处理小数位数。 6. **货币符号**: 项目可能还涉及查找并显示正确的货币符号,这可以通过...
6. **数据格式化**:转换后的数值可能需要格式化为特定的货币格式,例如带有逗号分隔符和货币符号。 7. **错误处理**:考虑到用户输入的不确定性,项目应包含适当的错误处理,如检查无效输入或无可用汇率的情况。 ...
48. **选择器组合**:利用逗号分隔,可以同时选择多个元素,如`$(".class1, .class2")`。 49. **事件绑定命名空间**:使用命名空间避免插件事件冲突,如`$("#elem").on("click.myPlugin", function() {...})`。 50...
这里的 `#` 符号表示选择 ID 选择器,而逗号用于分隔同一选择器内的多个选择项,表示选择符合任一条件的元素。这种方法可以同时选中文本框和密码框,无需分别为它们编写不同的选择器。 紧接着,使用 `.focus()` 和 ...
上述代码中,`arrChk`变量将会收集所有被选中的复选框的值,并以逗号分隔。 获取复选框的选中状态,可以通过`.attr("checked")`获取布尔值。设置复选框的选中状态也使用`.attr()`方法: ```javascript $("#...