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

JavaScript问题:onkeyup触发的函数无法禁用id为mySubmit的提交按钮

解决密码不匹配时提交按钮无法禁用的问题

从你给出的代码片段和问题描述来看,核心问题大概率出在代码截断的部分以及逻辑分支的缺失上,我帮你梳理并修复:

常见问题点及修复方案

  • 方法名拼写错误:你代码里的document.getElementBy...明显没写完,正确获取提交按钮的方法是document.getElementById("mySubmit"),少写Id就会找不到目标元素,自然无法修改它的禁用状态。
  • 逻辑分支缺失:你只处理了密码匹配的情况,却没有编写密码不匹配时的逻辑——这才是禁用按钮的关键分支。
  • disabled属性设置错误:要直接给按钮元素的disabled属性赋值true或false,这才是控制按钮禁用/启用的正确方式。

修正后的完整函数

function check_match() {
  var pw1 = document.getElementById("one").value;
  var pw2 = document.getElementById("two").value;
  var errorMsg = document.getElementById("error_match");
  var submitBtn = document.getElementById("mySubmit"); // 正确获取提交按钮

  if (pw1 === pw2) {
    errorMsg.style.color = "green";
    errorMsg.innerHTML = "passwords match"; // 顺便修正你原代码里的拼写错误:paswords → passwords
    submitBtn.disabled = false; // 密码匹配时启用按钮
  } else {
    errorMsg.style.color = "red";
    errorMsg.innerHTML = "passwords do not match";
    submitBtn.disabled = true; // 密码不匹配时禁用按钮
  }
}

额外优化建议

  • 确保你的提交按钮确实设置了id="mySubmit",别写错ID值。
  • 建议用===严格相等判断,避免隐式类型转换导致的意外问题。
  • 可以在页面加载时默认禁用提交按钮,避免用户还没输入密码就提交:
    window.onload = function() {
      document.getElementById("mySubmit").disabled = true;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:23:31