我在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();">


希望能帮助到你

关于javascript - 如何阻止表格提交?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9718474/

10-12 12:56
查看更多