使用JavaScript验证的表单提交

时间:2013-06-16 17:38:06

标签: php javascript html mysql

这不起作用,我是PHP新手。当我运行这个PHP时,值传递给第二个PHP而不显示任何空格验证,我不知道我做错了什么。 我试着在线查看各种教程编写代码,但不知道出了什么问题。

  <html>
  <body>
  <script type="text/javascript">
  function validateForm(){
var w=document.forms["myForm"]["t1"].value;
  var x=document.forms["myForm"]["t2"].value;
var y=document.forms["myForm"]["t3"].value;
var z=document.forms["myForm"]["s1"].value;

    if (w==null || w=="")
   {
  alert("Fill out");
  return false;
  }
  if (x==null || x=="")
  {
  alert("Fill out");
  return false;
  }
  if (y==null || y=="")
  {
  alert("Fill out");
  return false;
  }
  if (z==null || z=="")
  {
  alert("Fill out");
  return false;
  }
   }
   </script>
   </head>
  <body><form id="f1" method="post" action="2.php" onsubmit="return validateForm()">
   <h1>FORM</h1>
   <br>
   ID :<input type="text" id="t1" name="t1" />
    NAME :<input type="text" id="t2" name="t2" /><br>
    GENDER :
   MALE<input type="radio" id="t3" name="t3" value="MALE" />
   FEMALE<input type="radio" id="t3" name="t3" value="FEMALE"/>
   <br>COURSE
   <select name="s1" id="s1">
   <option value="B.tech">B.Tech</option>
   <option value="B.com">B.com</option>
   <option value="Bba">Bba</option>
    </select>
   <br>
   <input type="submit" id="b1" name= "b1" value="Login" />
   <input type="submit" id="b1" name= "b1" value="Cancel" />
    </form>
      </body>
    </html>

3 个答案:

答案 0 :(得分:1)

你写过

<form id="f1" method="post" action="2.php" onsubmit="return validateForm()">

请将name属性添加到表单标记“myForm”: -

<form id="f1" method="post" name = "myForm" action="2.php" onsubmit="return validateForm()">

答案 1 :(得分:0)

您的代码实际上存在2个问题。

<强> 1
您正在尝试使用document.forms["myForm"]检索表单元素,但似乎没有名为“myForm”的表单。 你应该添加:

...
<form ... name="myForm">
...

<强> 2
您无法使用.value属性获取一组单选按钮的值。你要做的是遍历组中的所有元素,看看是否设置了checked属性 最简单的方法是为此创建一个效用函数(见下文),然后调用它:
var y = getRadioValue(“myForm”,“t3”);

function getRadioValue(formName, groupName) {
    var value = "";
    var radioGroup = document.forms[formName][groupName];
    for (var i = 0; i < radioGroup.length; i++) {
        if (radioGroup[i].checked) {
            value = radioGroup[i].value;
            break;
        }
    }
    return value;
}

如果您使用的是jQuery,则可以省略该功能,只需使用适当的选择器:

var y = $('input[name="t3"]:checked').val();

另请参阅此 short demo

答案 2 :(得分:0)

表单和脚本的ID不同。

将表单ID /名称更改为myForm

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

JSBin工作示例:http://jsbin.com/exager/1/edit