0

ユーザーがカテゴリを変更したときにフォームにデータベース情報を入力しようとしています(タグの変更を選択)。これが私のコードです。

<form onsubmit='return false'>
select<select id="select">
       <option value='5'>5</option>
       <option value='6'>6</option>
       <option value='7'>7</option>
       <option value='8'>8</option>
       <option value='9'>9</option>
       <option value='10'>10</option>
       </select>
       fname<input type="text" id='fname' name="fname" /><br />
       lname<input type="text" id='lname' name="lname" /><br />
</form>


<script type="text/javascript">

$(document).ready(function(){
    $("#select").change(function(){
        selectid = $(this).val();
          // using post method to get firstname   
                     $.post("retreive.php", {selectid:selectid}, function(result){
                            $("#fname").val();
                            //again using post method here get lastname
                           $.post("one.php", {selectid:selectid}, function(result){
                             $("#lname").val();

                           });
                      });   
     });    
});

取得.php

<?php
//for firstname
if( isset($_POST['selectid']) ){
     //using this selectid i'm getting firstname
     echo $firstname;
     exit();
}

//again for last name
if( isset($_POST['selectid']) ){
     //using this selectid i'm getting firstname
     echo $lastname;
     exit();
}
?>

最後に、この手順はフォームフィールドを自動入力します。姓と名。私はこれが愚かで時間のかかる手順であることを知っています. この作業は簡単で、JSON の概念を使用することで PHP に負担をかける必要はないと聞いています。私は理解しようとしましたが、できませんでした。解決策を期待して、私が直面している問題を理解していただければ幸いです。前もって感謝します!

4

1 に答える 1

0

ajax リクエストが行われますが、結果データは何もしません。
これを試して

$(document).ready(function(){
    $("#select").change(function(){
       var selectid = $(this).val();
          // using post method to get firstname   
                     $.post("retreive.php", {selectid:selectid}, function(result){
                            $("#fname").val(result);
                            //again using post method here get lastname
                           $.post("one.php", {selectid:selectid}, function(result){
                             $("#lname").val(result);

                           });
                      });   
     });    
});

2 つの ajax リクエストは必要ありません。1 つのリクエストで json データを取得できます。jquery ajax メソッドと json 形式
について読む

$(function(){
 $('#select').change(function(){
 var selectid = $(this).val();
 $.ajax({
  url: 'retreive.php',
  data: {selectid: selectid},
  type: 'POST',
  dataType: 'JSON',
  success: function(data)
  {
    $("#fname").val(result.fname);
    $("#lname").val(result.lname);
  }
});
});
});

そしてphp

<?php
 if (isset($_POST['selectid'])) {
  echo json_encode(array('fname' => $fname, 'lname' => $lname));
  exit;
 }

何か問題が発生した場合は、ajax リクエストを行ったときに、コンソールを開いてエラーを見つけます。エラーがない場合は、ネットワークにアクセスして、どのサーバーが返されるかを確認してください。

于 2013-09-05T16:12:42.490 に答える