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

JS新手制作带用户名密码输入框的网页功能失效,求问题排查

你的JavaScript表单验证问题排查与修复方案

嘿,作为刚入门JavaScript的新手,踩这种表单验证的坑太正常啦!我仔细看了你的代码,发现几个关键问题导致功能失效,咱们一个个捋清楚:

  • 没获取输入框的实际值:你用document.getElementById("fuser")拿到的是DOM元素对象本身,不是用户输入的文本内容!必须加上.value才能拿到输入框里的字符串,比如var username = document.getElementById("fuser").value,密码同理。
  • 语法错误(括号不匹配):你的if嵌套结构里,第二个if的else后面少了一个闭合的},导致整个函数的语法报错——浏览器遇到语法错误会直接停止执行这个函数,这也是功能完全没反应的重要原因。
  • 可选优化:语句结尾加分号:虽然现代浏览器会自动补全分号,但养成写分号的习惯能避免很多莫名其妙的bug,比如alert("hi");后面记得加分号。

修复后的完整代码

function entering() {
  alert("hi"); // 补充分号
  var username = document.getElementById("fuser").value; // 加上.value获取输入值
  var password = document.getElementById("fpass").value; // 同理
  
  if (username == "f") {
    if (password == "f") {
      alert('Nice');
    } else {
      alert('wrong password');
    } // 补上缺失的闭合括号
  } else {
    alert('wrong username');
  }
  
  // 如果你是用表单提交触发这个函数,记得加下面这行阻止页面刷新
  return false;
}

额外小提示

如果你的函数是绑定在表单的onsubmit事件上的,一定要在函数最后加return false;(或者用event.preventDefault()),不然浏览器会默认提交表单并刷新页面,你刚弹的alert可能一闪而过就没了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:07:05