0

HTMLフォームにPHPでAjaxを使用しています。これが私のHTMLフォームです。

<form id="form1" name="form1" method="post" action="">
Student Category :
<input type="radio" name="category"  value="Full Time"    onclick='showUser(this.value)'/>Full Time</br>
<input type="radio" name="category"  value="Part Time" onclick='showUser(this.value)'/>Part Time</br>

Index Number :<div id="txtHint"></div><br/>
<button type="submit" name="save" id="save" class="btn">SUBMIT</button></form>

学生カテゴリとインデックス番号で Ajax を使用しました。ユーザーが最初のラジオ ボタンを選択すると、デフォルト値が "MPhil/FT/2013/" のテキスト ボックスが [インデックス番号] に表示されます。2 番目のラジオ ボタンが選択されている場合、デフォルト値は「MPhil/PT/2013/」になります。

これが私のAjaxとJSコードです。

<script>
  function showUser(str)
  {
    if (str=="")
    {
       document.getElementById("txtHint").innerHTML="";
      return;
    } 
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
       xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
      }
    }
     xmlhttp.open("GET","getUser.php?q="+str,true);
     xmlhttp.send();
  }
</script>

getUser.php ファイルには、次のコードが含まれています。

<?php
  $q = $_GET['q'];
  $r =  date("Y");

  if ($q == 'Full Time') {
    echo "<input type='text' name='reg' class='form-control' value='M.Phil/FT/$r/' />";
  } else if ($q == 'Part Time') {
    echo "<input type='text' name='reg' class='form-control' value='M.Phil/PT/$r/' />";
  }
?>

フォームの値を取得するコード(htmlフォームの同じページに含まれています)

 <?php
   if (isset($_POST['save'])) { 
     if (isset($_POST['category'])) {
       $d=($_POST['category']);
    }
    if (isset($_POST['reg'])) { 
       $a=$_POST['reg'];
       echo $a;
    }
  }

入力ボックス 'reg' には値がありますが、送信されたときにフォーム $a は印刷されません。つまり、 のようになります(!isset($_POST['reg']))。入力ボックスの値を取得したい。しかし、それは!issetと言われています。誰かがこれで私を助けてくれますか? PS- 上記の表示されたコードはすべて、3 番目のコードを除いて 1 つのファイルにあります。3 番目のコードは getUser.php ファイルにあります。ありがとうございました。

4

0 に答える 0