使用 jQuery 和 ajax 提交后填充表单

Den*_*nis 1 javascript php forms ajax jquery

我有一个基本的 HTML 表单,想在填写第一个字段后通过 PHP 文件使用 Ajax 执行查找,在外部提要中查找第二个字段的值。

<form method="post" action="#"> 
 <input name="number" type="text" id="number" value="" />
 <input name="name" type="text" id="name" value="" />
 <input name="email" type="text" id="email" value="" />
 <button type"submit">
</form>
Run Code Online (Sandbox Code Playgroud)

填写第一个字段(数字)后,我想对 PHP 文件执行 Ajax 调用(提交填写的值)并查找其他两个字段(姓名和电子邮件)的值。在此表单中查找填写找到的值后,用户可以根据需要进行编辑然后提交。

PHP 文件如下所示:

<?php 
  $number = $_GET["number"];
  $url = "http://api.domain.com/lookup/$number";
  $response = json_decode(file_get_contents($url), true);
?>
Run Code Online (Sandbox Code Playgroud)

并会给出这样的 json 响应

{
    "name": "jacob",
    "email": "jacob@domain.com"
}
Run Code Online (Sandbox Code Playgroud)

现在我需要 jQuery 来完成这个任务(调用 PHP 脚本并填充其他表单字段),这就是我卡住的地方。想法?

Mav*_*ick 8

AJAX

将此代码放在表单页面的<head></head>标签之间,并记住调用 jquery 框架。

<script type="text/javascript">
$( "#number" ).keyup(function() {
    numberval = $('#number').val();

    $.ajax({
        type: "GET",
        dataType: "json",
        url: "PHP-FILE.php", // replace 'PHP-FILE.php with your php file
        data: {number: numberval},
        success: function(data) {
           $('#name').val(data["name"]);
           $("#email").val(data["email"]);
        },
        error : function(){
           alert('Some error occurred!');
        }
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

形式

<form method="post" action="#"> 
 <input name="number" type="text" id="number" value="" />
 <input name="name" type="text" id="name" value="" />
 <input name="email" type="text" id="email" value="" />
 <button type"submit">
</form>
Run Code Online (Sandbox Code Playgroud)