Javascript表单验证不适用于2个输入字段

时间:2015-05-30 08:33:03

标签: javascript html

我正在尝试使用javascript验证我的表单。我希望如果用户将输入字段留空,那么他将看到警报,表单将不会将数据提交到php文件。不幸的是,下面的代码对我不起作用。 javascript没有在表单提交上执行。

的javascript

 <script>
 function MyForm() {
 var x =document.forms["myForm"]["name"].value;
  if (x == null || x == "")     {alert("Name must be filled out");
    return false;
   }
  { var y=document.forms["myForm"]["age"].value;
 if (y == null || y == "") {
    alert("age must be filled out");
    return false;
  }
 }

形式

 <form name="myForm"action="game.php"onsubmit="return myForm()"method="post">



  Name: <input type="text" name="name">

 Age: <input type="text" name="age">
 <input type="submit" value="Submit">
 </form>

任何帮助都非常适合。

3 个答案:

答案 0 :(得分:2)

你的代码中有一些拼写错误。找到它们的一个好方法是在浏览器的开发人员工具中使用控制台(尝试按F12)。

更改

{ var y=document.forms["myForm"]["age"].value;

var y=document.forms["myForm"]["age"].value; //removed the opening curly brace

并在您的表单中更改:

onsubmit="return myForm()"

onsubmit="return MyForm()"

答案 1 :(得分:1)

您必须首先调用myForm函数才能使其正常工作

  function MyForm() {
 var x =document.forms["myForm"]["name"].value;

  if (x == null || x == "")   
      {alert("Name must be filled out");
    return false;
   }
  var y=document.forms["myForm"]["age"].value;
 if (y == null || y == "") {
    alert("age must be filled out");
    return false;
  }
 }
 MyForm(); // invoke it here

答案 2 :(得分:1)

你的javascript方法中有2个拼写错误。尝试以下方法

function MyForm() {
   var x = document.forms["myForm"]["fname"].value;
    if (x == null || x == "")     {
         alert("Name must be filled out");
         return false;
    }
    var y=document.forms["myForm"]["age"].value;
    if (y == null || y == "") {
          alert("age must be filled out");
           return false;
     }
 }