0

私はajaxが初めてです。データベースと 4 つのテキスト ボックスから入力するドロップダウンがあります。ユーザーがドロップダウンからタイトルを選択すると、テキストボックスが自動的に入力されます。

ここに私のJavaScriptコードがあります。

function getXMLHttp()
{
  var xmlHttp

  try
  {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    //Internet Explorer
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
        alert("Your browser does not support AJAX!")
        return false;
      }
    }
  }
  return xmlHttp;
}

function MakeRequest(username)
{
  var xmlHttp = getXMLHttp();

  xmlHttp.onreadystatechange = function()
                               {
                                    if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
                                     {
                                        HandleResponse(xmlHttp.responseText);
                                     }
                                }

  xmlHttp.open("GET","ajax.php?username="+username,true);
  xmlHttp.send(null);
}

function HandleResponse(response)
{
  document.getElementById("f").value = response; 
}

これは私のPHPコードです

    require_once'/classes/USRclass.php';
if(isset($_GET['username']))
{
    $username=$_GET['username'];
    $usr1=new USER;
    $where="username='$username'";
    $a=$usr1->show($where);
    echo $a['name'];
    echo $a['family'];
    echo $a['email'];
    echo $a['privilege'];
}

そしてこれが私のフォームです

<form method="get">
    username:<select name="username" onChange="MakeRequest(this.value)">
        <option></option>
        <?php
        require_once'/classes/USRclass.php';
        $usr1=new User;
        $a=$usr1->show_all_field('username');
        if(count($a)==1)
        {
        foreach($a as $key)
         echo"<option>$key</option>";
        }
        else if(count($a>1))
        {
        foreach($a as $key)
            foreach($key as $column=>$val)
                echo"<option>$val</option>";
        }
        ?>      
        </select><br>
        name: <input id="n" type="text" name="u_name"><br>
        family:  <input type="text" name="u_family" id="f"><br>
        email: <input type="text" name="u_email"><br>
        privilege: <input type="text" name="u_privilege"><br>
        <input type="button" name="u_edit" value="Edit">
        <input type="submit" name="u_ok" value="OK">
        </form>
4

1 に答える 1

0

このすべての ajax 呼び出しは、jquery で簡単に実行できます。.ajax jquery apiを使用できます。最初に、オプションの値を取得する必要があります。次のようにします。

html

<option id="optn">first</option> //like you want to sent the value of the option have id optn you can send according to you its  only example 

jqueryでそのオプションの値を取得します

var variable = $("optn").val();

これを php ファイルで送信するか、必要なメソッドを取得します

$.ajax({
  type: "POST",
  url: "some.php",
  data: { dat: var}
}).done(function( msg ) { //you can also use success
  alert( "Data Saved: " + msg );
});
});

phpでは、データを取得できます

$_POST['dat']

あなたに合わせた操作を行います

于 2012-07-27T13:40:19.543 に答える