0

这不起作用,我是 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>
4

3 回答 3

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()">
于 2013-06-16T17:42:29.160 回答
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();

另请参阅这个简短的演示

于 2013-06-16T17:42:20.687 回答
0

您的表单和脚本的 id 不同。

将表单 ID/名称更改为 myForm

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

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

于 2013-06-16T17:42:36.443 回答