You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过点击按钮/输入框为另一输入框赋值(ATM密码输入场景)

ATM密码点击输入功能实现方案

错误点说明

  • 原JS代码中const pinPassword = document.getElementById('pin').value获取的是输入框的初始值字符串,不是输入框DOM元素本身,无法通过修改它的value属性更新输入框内容
  • 原add方法是直接覆盖输入框的值,不是追加内容,不符合ATM密码逐位输入的逻辑

修正代码

JS部分

// 获取输入框DOM元素,而非其初始值
const pinInput = document.getElementById('pin');

function add(num) {
  // 匹配输入框maxlength限制,最多输入4位
  if (pinInput.value.length < 4) {
    // 追加数字到输入框末尾
    pinInput.value += num;
  }
}

可选扩展:补全数字按键

在现有form中按照以下格式补充0-9其余数字按钮即可:

<input type="button" value="2" onclick="add(this.value)">
<input type="button" value="3" onclick="add(this.value)">
<!-- 按需补充4-9、0的按钮 -->

可选扩展:退格功能

新增退格按钮:

<input type="button" value="退格" onclick="deleteLast()">

新增对应JS逻辑:

function deleteLast() {
  // 移除输入框最后一位字符
  pinInput.value = pinInput.value.slice(0, -1);
}

内容的提问来源于stack exchange,提问作者Filip Burski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:06:01