0

これは機能していません。私はPHPが初めてです。この PHP を実行すると、空白の検証を表示せずに値が 2 番目の 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 に答える