Javascript 正在重新加载HTML表单,并且未显示java脚本消息

Javascript 正在重新加载HTML表单,并且未显示java脚本消息,javascript,html,Javascript,Html,我是Javascript编程新手。我开发了以下脚本,遇到了以下问题。请专家帮助解决问题 问题是 当用户名和密码都已填写(用户名不等于密码)时,javascript消息将显示,表单将自动重新加载并删除该消息 当用户名或密码为空时,显示的消息为“无效用户名或密码”。未显示正确的javascript消息 当两个字段都未填充时,脚本将成功执行并打印“欢迎”。如果未执行javascript中的条件以显示正确的消息。还使用了“必需”属性显示错误“此字段是必需的”,但仍在打印“欢迎” 函数验证(){

我是Javascript编程新手。我开发了以下脚本,遇到了以下问题。请专家帮助解决问题

问题是

  • 当用户名和密码都已填写(用户名不等于密码)时,javascript消息将显示,表单将自动重新加载并删除该消息
  • 当用户名或密码为空时,显示的消息为“无效用户名或密码”。未显示正确的javascript消息
  • 当两个字段都未填充时,脚本将成功执行并打印“欢迎”。如果未执行javascript中的条件以显示正确的消息。还使用了“必需”属性显示错误“此字段是必需的”,但仍在打印“欢迎”

函数验证(){
var username=document.getElementById(“用户名”).value;
var password=document.getElementById(“密码”).value;
如果((用户名类型)=未定义){
document.getElementById(“消息”).innerHTML=“需要用户名。”;
}
如果((密码类型)=未定义){
document.getElementById(“消息”).innerHTML=“需要密码。”;
}
如果(用户名==密码){
文件。写(“欢迎”);
}
否则{
document.getElementById(“message”).innerHTML=“无效的用户名或密码”;
}
}
欢迎来到MEPC世界!!

登录


用户名:

密码:

注意:用户名和密码区分大小写


您应该这样做。或者消息被覆盖,因为您有多个
if
语句,而不是
if/elseif/else
,该语句只允许一个
为true

function verify() {
  var username = document.getElementById("username").value;
  var password = document.getElementById("password").value;

  if (username === undefined || username === '') {
    document.getElementById("message").innerHTML = "Username Required.";
  }

  else if (password == undefined || password === '') {
    document.getElementById("message").innerHTML = "password Required.";
  }
  // This doesn't make sense at all fyi
  else if (username === password) {
    document.write("Welcome");
  }
  else {
    document.getElementById("message").innerHTML = "Invalid Username or password";
  }
}
要防止表单提交,您必须执行以下操作:

<input type="submit" value="Submit" onclick="return verify()">


Hello Chrillewoodz,感谢您的输入。您的建议有助于解决2&3问题。但我仍然面临第一个问题。当两个字段都已填写时(用户名/密码不正确)javascript消息显示了一段时间,但表单再次过载,显示的消息消失了。@我更新了答案,现在它应该解决了第一个问题。