java脚本验证不起作用我尽我所能

时间:2017-07-19 13:08:59

标签: javascript html

<script>
    function validate() {

        var v1 = document.myform.ename.value;
        var v2 = document.myform.eid.value;
        if (v1 == "" || v1 == null) {
            alert("enter the user name");
        }

        if (v2.length <= 4 && v2.length == "") {
            alert("enter the pwd greater then 4 character");
        }

    }
</script>

</head>
<body bgcolor=black>
    <form name="myform" onsubmit="validate">
        <div>
            <table border="1">
                <tr>
                    <th colspan="2" width="100%"><font size="5"> Login</font></th>
                </tr>
                <tr>
                    <td>User Name</td>
                    <td><input type="text" name="ename"></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td><input type="Password" name="eid"></td>
                </tr>
                <tr>
                    <td><input type="Button" value="Submit">
                    <td><input type="Reset" value="Reset"></td>
                </tr>

                <tr>

                    <td colspan="2"><a href="register.html"> <font color=white>Register
                                Here</font>
                    </a></td>

                </tr>

            </table>
        </div>
    </form>

这里我发布了我的代码,当我尝试验证html页面时,它没有给出输出什么问题? 在这里我发布我的代码,当我尝试验证HTML页面时,它没有给出输出什么问题?

2 个答案:

答案 0 :(得分:1)

您的代码中存在一些问题,我在下面附上了更正后的代码。

  • 首先,您必须将提交按钮从type="button"更改为type="submit"
  • 第二次尝试使用javascript进行提交,这样您就可以通过事件信息传递e。然后,您可以使用e.preventDefault();来阻止表单提交。
    • 另外,你的布尔代数有点偏。您有v2.length <= 4 && v2.length == "",但&&需要更改为||

&#13;
&#13;
document.getElementById('myform').onsubmit = function(e) {
  e.preventDefault();
  validate();
}

function validate() {

  var v1 = myform.ename.value;
  var v2 = myform.eid.value;
  if (v1 == "" || v1 == null) {
    alert("enter the user name");
  }

  if (v2.length <= 4 || v2.length == "") {
    alert("enter the pwd greater then 4 character");
  }

}
&#13;
<body bgcolor=black>
  <form name="myform" id="myform">
    <div>
      <table border="1">
        <tr>
          <th colspan="2" width="100%">
            <font size="5"> Login</font>
          </th>
        </tr>
        <tr>
          <td>User Name</td>
          <td><input type="text" name="ename"></td>
        </tr>
        <tr>
          <td>Password</td>
          <td><input type="Password" name="eid"></td>
        </tr>
        <tr>
          <td><input type="submit" value="Submit">
            <td><input type="Reset" value="Reset"></td>
        </tr>

        <tr>

          <td colspan="2">
            <a href="register.html">
              <font color=white>Register Here
              </font>
            </a>
          </td>

        </tr>

      </table>
    </div>
  </form>
&#13;
&#13;
&#13;

我希望这对你有所帮助!如果您不明白,请询问,我会帮助您。

答案 1 :(得分:0)

您的按钮需要输入submit,并且迈克声明需要onsubmit="validate()"

function validate() {
        var v1 = document.myform.ename.value;
        var v2 = document.myform.eid.value;
        if (v1 == "" || v1 == null) {
            alert("enter the user name");
        }

        if (v2.length <= 4 && v2.length == "") {
            alert("enter the pwd greater then 4 character");
        }
    }
<form action="#" name="myform" onsubmit="validate()">
  <div>
    <table border="1">
      <tr>
        <th colspan="2" width="100%">
          <font size="5"> Login</font>
        </th>
      </tr>
      <tr>
        <td>User Name</td>
        <td><input type="text" name="ename"></td>
      </tr>
      <tr>
        <td>Password</td>
        <td><input type="Password" name="eid"></td>
      </tr>
      <tr>
        <td><input type="submit" value="Submit">
          <td><input type="Reset" value="Reset"></td>
      </tr>
      <tr>
        <td colspan="2">
          <a href="register.html">
            <font color=white>Register Here
            </font>
          </a>
        </td>
      </tr>
    </table>
  </div>
</form>