返回mysql获取数据并插入表单字段值

时间:2018-10-19 02:49:03

标签: javascript php jquery ajax

我在页面上有一个客户端列表,每个客户端都有一个图标来单击以编辑客户端详细信息。

<i class="fas fa-user-edit gray openModal" data-modal="modal2" client="'.$client['id'].'"></i>

到目前为止,一切都很好。单击图标,将打开正确的模式,并触发js文件。 (我做了很多控制台日志来确保)。我的jquery文件中的client变量很好,我能够将其传递给php文件。

在php文件中,我能够将信息提取到数组中,并且能够回显$ client ['firstName']并将其显示在控制台中。

当我开始获取该信息并在迷路时将其解析为Json时。有人可以帮我获取结果并加载到表单字段中吗?我现在拥有的代码可能会完全关闭,因为我一直在使用来自不同搜索的不同代码。

表单(为简化示例,缩短为两个字段)

<form id="form" class="editClient ajax" action="ajax/processForm.php" 
method="post">

<input type="hidden" id="refreshUrl" value="? 
page=clients&action=view&client=<?php echo $client['id'];?>">
<input type="hidden" name="client" value="<?php echo $client['id'];?>">

<div class="title">
    Client Name             
</div>



<div class="row">

    <!-- first name -->
    <div class="inline">
        <input type="text" id="firstName" name="firstName" value="<?php echo $client['firstName']; ?>" autocomplete="nope" required>
        <br>
        <label for="firstName">First Name<span>*</span></label>
    </div>
<!-- last  name -->
    <div class="inline">
        <input type="text" id="lastName" name="lastName" value="<?php echo $client['lastName']; ?>" autocomplete="nope" required>
        <br>
        <label for="lastName">Last Name<span>*</span></label>
    </div>

</form>

javascript / jquery文件

$('.openModal').on('click', function() {

  //$('body, html, div').scrollTop(0);

  var that = $(this),
  client = that.attr('client');

  $.ajax({

    type: "post",
    url: "ajax/getClient.php",
    data: {id:client},
    success: function(response){

      var result = JSON.parse(response);
      var data = result.rows;

      $("#firstName").val(data[0]);

    }
  })

  });

php文件

<?php

include('../functions.php');

$sql = 'SELECT * FROM clients WHERE id="'.$_POST['id'].'"';
$result = query($sql);
confirmQuery($result);

$data = fetchArray($result);

echo json_encode(['response' => $data, 'response' => true]);

?>

已更新----------

这是我最后的js文件,允许设置表单值。

$('.openModal').on('click', function() {



var that = $(this),
        client = that.attr('client');

        $.ajax({

            type: "post",
            url: "ajax/getClient.php",
            data: {id:client},
            success: function(response){

            var result = JSON.parse(response);


                    $("select#primaryContact").append( $("<option>")
                    .val(result[0].primaryContact)
                        .html(result[0].primaryContact)
                    );
                $("select#primaryContact").append( $("<option>")
                    .val("")
                        .html("")
                    );
                if (result[0].email !== "") {
                    $("select#primaryContact").append( $("<option>")
                    .val(result[0].email)
                        .html(result[0].email)
                    );
                }
                if (result[0].phoneCell !== "") {
                    $("select#primaryContact").append( $("<option>")
                    .val(result[0].phoneCell)
                        .html(result[0].phoneCell)
                    );
                }
                    if (result[0].phoneHome !== "") {
                    $("select#primaryContact").append( $("<option>")
                    .val(result[0].phoneHome)
                        .html(result[0].phoneHome)
                    );
                }



                     $("input#firstName").val(result[0].firstName);
                     $("input#lastName").val(result[0].lastName);
                     $("input#address").val(result[0].address);
                     $("input#city").val(result[0].city);
                     $("input#zip").val(result[0].zip);
                     $("input#email").val(result[0].email);
                     $("input#phoneCell").val(result[0].phoneCell);
                     $("input#phoneHome").val(result[0].phoneHome);
                     $("input#phoneFax").val(result[0].phoneFax);
                     $("input#source").val(result[0].source);
                     $("input#referBy").val(result[0].referBy);
                     $("input#client").val(result[0].id);

        }



        })

        });

0 个答案:

没有答案