Javascript 如何阻止表单提交?

Javascript 如何阻止表单提交?,javascript,html,forms,Javascript,Html,Forms,我有以下JavaScript代码 function checkEntries() { if(document.getElementById("username")=="" && document.getElementById("password").value=="") { alert("Please enter username and password"); } if(document.getElementById("user

我有以下JavaScript代码

function checkEntries()
{
    if(document.getElementById("username")=="" &&  document.getElementById("password").value=="")
    {
        alert("Please enter username and password");
    }
    if(document.getElementById("username").value=="")
    {
        alert("Please enter username");
    }
    if( document.getElementById("password").value=="")
    {
        alert("Please enter password");
    }
}
和HTML代码

<form name="LoginUser" method="post" action="LoginUser" onsubmit="checkEntries()">
              <table width="78%" height="90" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td width="47%" align="right" class="textstyle">Username:
                  <label for="username2"></label></td>
                <td width="53%" class="textstyle">
                  <input type="text" name="username" id="username" /><div id="testuser"></div>
                </td>
              </tr>
              <tr>
                <td align="right" class="textstyle">&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr id="passRow">
                <td align="right" class="textstyle">Password:</td>
                <td><label for="password"></label>
                  <input type="password" name="password" id="password"/>
Forgot Password?? Click here...               
<div id="testpwd"></div></td>
              </tr>
              <tr>
                <td align="right" class="textstyle">&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td align="right" class="textstyle">&nbsp;</td>
                <td><input type="checkbox" name="rempass" id="rempass" />
                  <span class="textstyle">Remember my password</span></td>
              </tr>
              <tr>
                <td align="right" class="textstyle">&nbsp;</td>
                <td class="textstyle">&nbsp;</td>
              </tr>
              <tr>
                <td align="right" class="textstyle">&nbsp;</td>
                <td class="textstyle">
                  <input type="submit" name="login" id="login" value="Sign in" />
                  </td>
              </tr>
            </table>
        </form>
JavaScript代码检查用户名和密码是否输入到登录表单中。它工作得很好。但在显示错误后,它会提交表单

如果没有输入用户名和密码,我希望不要提交此表单。它应该只停留在登录页面上。我如何才能做到这一点?

试试:


function checkEntries() {
   var errFlag = false;
   var errMsg = "";
    var username = document.getElementById("username");
    var password = document.getElementById("password")
   if(username == "") {
      errMsg += "Please enter username.\n";
      errFlag = true;
   }
   if(password == "") {
     errMsg += "Please enter password";
     errFlag = true;
   }
   if(!errFlag) {
      return true;
   }else {
      alert(errMsg);
      return false;
   }
}
在您的提交上:


<form name="LoginUser" method="post" action="LoginUser" onsubmit="return checkEntries();">
希望有帮助

试试:


function checkEntries() {
   var errFlag = false;
   var errMsg = "";
    var username = document.getElementById("username");
    var password = document.getElementById("password")
   if(username == "") {
      errMsg += "Please enter username.\n";
      errFlag = true;
   }
   if(password == "") {
     errMsg += "Please enter password";
     errFlag = true;
   }
   if(!errFlag) {
      return true;
   }else {
      alert(errMsg);
      return false;
   }
}
在您的提交上:


<form name="LoginUser" method="post" action="LoginUser" onsubmit="return checkEntries();">

希望能有所帮助

Aahh…谢谢你,伙计。我真傻。我怎么能忘记返回语句D谢谢,伙计,成功了很高兴知道它对你有用。。您可以将答案标记为已接受..:啊…谢谢你,伙计。我真傻。我怎么能忘记返回语句D谢谢,伙计,成功了很高兴知道它对你有用。。您可以将答案标记为已接受..: