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

jQuery同步输入值表单提交时丢失,如何保留Username值?

问题:表单正常提交时无法保留jQuery填充的Username值

我用以下jQuery代码同步StaffNumber输入框的值到Username输入框:

$(document).ready(function () {
    $('#StaffNumber').on('keyup', function () {
        var staffNo = $(this).val();
        $('#Username').val('EMP' + staffNo);
    });
});

执行这段代码后,页面上的Username输入框能正常显示填充的新值,但表单正常提交时却无法获取该值;同时Username的必填字段验证在提交时仍会触发,哪怕已经通过jQuery事件为它填充了值。我试过绑定input事件、keyup+paste组合事件,问题依然存在。

补充: 阻止表单默认提交行为后,Username的值可以被正常获取到。

以下是验证该补充方案的代码示例:

JavaScript代码

$(document).ready(function() {
  $('#StaffNumber').keyup(function() {
    $('#Username').val('EMP' + $('#StaffNumber').val());
  });
});

document.getElementById('testForm').addEventListener('submit', function(event) {
  event.preventDefault();

  var staffNumber = document.getElementById('StaffNumber').value;
  var username = document.getElementById('Username').value;

  console.log('Submitted Form Values: Staff#:' + staffNumber + ' Username:' + username);
});

HTML代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>jQuery input synch</title>
</head>
<body>
  <form id="testForm">
    <label for="StaffNumber">Staff#</label><br>
    <input type="text" id="StaffNumber" name="StaffNumber" value=""><br>
    <label for="Username">Username</label><br>
    <input type="text" readonly="readonly" id="Username" name="Username" value=""><br><br>
    <input type="submit" value="Submit">
  </form>
</body>
</html>

现咨询:如何在正常提交表单时保留Username的值?


内容的提问来源于stack exchange,提问作者Shaheed Muhammad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 12:30:16