Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于HTML下拉选择填充输入_Javascript_Php_Html_Sql Server_Auto Populate - Fatal编程技术网

Javascript 基于HTML下拉选择填充输入

Javascript 基于HTML下拉选择填充输入,javascript,php,html,sql-server,auto-populate,Javascript,Php,Html,Sql Server,Auto Populate,我知道在堆栈溢出上有很多像这样的问题,但我真的需要一些与我正在做的事情更相关的东西…所以这就是我发布这个问题的原因 我有一个带有PHP的HTML表单,它从MSSQL数据库中提取数据以填充下拉框。一旦我从下拉框中选择姓名,我希望能够填充联系人信息文本框。到目前为止,如果我选择了一个特定的供应商,供应商名称会自动输入到名称、电子邮件和电话号码字段中。但是,我希望在文本字段中输入不同的属性,而不是供应商名称本身。我怎么能这样做 我希望导入的数据库中包含姓名、电子邮件和电话号码的字段名为MR_POC_N

我知道在堆栈溢出上有很多像这样的问题,但我真的需要一些与我正在做的事情更相关的东西…所以这就是我发布这个问题的原因

我有一个带有PHP的HTML表单,它从MSSQL数据库中提取数据以填充下拉框。一旦我从下拉框中选择姓名,我希望能够填充联系人信息文本框。到目前为止,如果我选择了一个特定的供应商,供应商名称会自动输入到名称、电子邮件和电话号码字段中。但是,我希望在文本字段中输入不同的属性,而不是供应商名称本身。我怎么能这样做

我希望导入的数据库中包含姓名、电子邮件和电话号码的字段名为MR_POC_N、MR_POC_E和MR_POC_p

此外,您看到的“MR_Name”字段包含供参考的所有供应商名称

以下是我的HTML下拉列表代码:

<select name="vendor_dropdown" id="ven" onChange="updateinput();">
    <option value="">Choose a Vendor</option>
        <?php foreach($users->fetchAll() as $user): ?>
            <option><?php echo $user['MR_Name'];?></option>
        <?php endforeach; ?>
</select>

保持脚本与当前相同,但更改JavaScript和下拉列表。在您的下拉列表中,尝试执行以下操作

<option value = "<?=$user['MR_Name'];?>"><?php echo $user['MR_Name'];?></option>
此脚本首先获取下拉列表的选定值。然后启动maketheajax调用,就像提交表单一样,我们将把值发布到下一页。因此,AJAX将讨论的页面是
get user info.php
,它将从数据中发布值。数据通过
e
发送,这就是下拉值。成功后,它将执行下面的代码,这表示将数据从PHP数组解析为JavaScript,然后表示email是数组的第一个值,tel是数组的第二个值。然后我们说ID为“email”的输入现在等于数组中的
email
,ID为“tel”的输入现在等于数组中的
tel

现在需要在名为
get user info.php

在此脚本中,调用数据库,其中用户与所选值
e
相同,并返回如下所示的PHP数组:

阵列(电子邮件、电话)

这是PHP脚本的伪代码
get user info.PHP

<?php

$e = $_POST["e"];
//Do your SQL

//In the loop
$array[] = $user["email"];
$array[] = $user["tel"];

echo json_encode($array);
?>


我非常愿意使用它……我对它不太熟悉,但如果这就是让它工作所需要的,那么我完全支持它!我不小心删除了我的旧评论,很抱歉。要使JQuery正常工作,请在标记中添加以下内容:
好的!我明白了!我已经为您添加了一个答案,请让我知道它是否有效。。。我还没有测试过它,因为我必须尽快完成。我很乐意帮助任何我能帮助的地方,所以我认为这在很大程度上是有意义的,但是,你能解释一下如何打电话并从数据库中获取信息吗?这就是我现在似乎有点不清楚的地方。因此,在PHP脚本
get user info.PHP
中,您需要获取用户信息e,无论值是什么。因此,如果每个用户都有一个ID,并且您设置了
,那么Jquery将获得该值并将其发送到第二个脚本。您想使用此ID从数据库中获取电子邮件和电话。对不起,我刚刚意识到您告诉我专栏没有告诉我。那样的话,我会修改我的密码。您希望对名称进行查找。如果它不是表中的主键,您可能会遇到问题。对不起,我刚才很忙…但是我要查找的列不是主键。我是否能够编写一个查询,将这些列导入脚本,然后为此编写相应的代码?
<option value = "<?=$user['MR_Name'];?>"><?php echo $user['MR_Name'];?></option>
function updateinput() {
    var e = $("#ven").val();

    $.ajax({
        url: "get-user-info.php",
        type: "POST",
        data: {e: e},
        success: function(data){
            data = JSON.parse(data);

            var email = data[0];
            var tel = data[1];

            $("#email").val(email);
            $("#tel").val(tel);
        }
    });
}
<?php

$e = $_POST["e"];
//Do your SQL

//In the loop
$array[] = $user["email"];
$array[] = $user["tel"];

echo json_encode($array);
?>