php - 当用户更改类别时自动填充表单时的 JSON 使用

标签 php mysql json autofill

当用户更改类别(选择标签更改)时,我试图用数据库信息填充表单。这是我的代码。

<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();
}
?>

最后这个程序自动填充表单字段,即;名字和姓氏。我知道这是愚蠢且耗时的程序。我听说这项工作很容易完成,不需要让我们的 php 承担使用 JSON 概念的所有负担。我试图理解但无法理解。希望大家能够理解我所面临的问题,希望能得到解决。提前致谢!

最佳答案

您收到了 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);

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

您不需要两个 ajax 请求 - 您可以发出一个请求,并获取 json 数据。
了解 jquery ajax method和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请求时,打开控制台并查找错误。如果没有错误,请访问网络并查看哪个服务器返回给您。

关于php - 当用户更改类别时自动填充表单时的 JSON 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18640936/

相关文章:

php - Laravel 获取请求头

php - Ajax CSRF 403 禁止代码点火器

java - 将json数据从android发送到php linux服务器

java - java中将json对象转换为tsv格式

javascript - 如何使 HTML 表格使用 PHP 数组

javascript - 如何将 MYSQL 列存储为数组

mysql - 将数字限制为 MySQL 中的最大值

mysql - 如何使 InnoDB 表在服务器重启时不重置自动增量?

mysql - 如何将 INNER JOIN 的输出存储在表中?

java - Jackson 在两个位置反序列化与反序列化整个 json 的性能