gpt4 book ai didi

javascript - 如何根据下拉菜单选择使用数据库中的数据自动填充表单

转载 作者:行者123 更新时间:2023-11-28 23:54:51 29 4
gpt4 key购买 nike

我正在处理一个 MySQL 更新表单,并努力制作一个下拉选择框,该选择框将使用 mysql 中的数据自动填充表单的其余部分。基本上它是一个由用户及其凭据组成的表。当使用此表单更新第二个表时,我希望能够从下拉菜单中选择用户名,并让该选择自动填充其余凭据,然后再转到表单的其余部分。

下面是一些设置选择和输入的代码:

<?php 
//DB Connect
...
// Get array of users
$select_users = "SELECT * FROM users";

if (!mysql_query($select_users)) {
die('Error: ' . mysql_error());
} //all good so far

$select_users_result = mysql_query($select_users);
?>

<select id="selectbox" name="navn" onchange="populateData(this.value)">
<option>USER</option>
<?php

$klubb = array();
$klasse = array();
while ($row = mysql_fetch_array($select_users_result, MYSQL_ASSOC)) {

echo "<option value='" . $row['navn'] . "'>". $row['navn'] ."</option>";

//echoing these vars will output all rows for the column specified...
$klubb[] = $row['klubb'];
$klasse[] = $row['klasse'];

}

mysql_close();

?>
</select>

<tr>
<td>Klubb: </td>
<td><input id="klubb" type="text" name="klubb" class="cred_input" />

</td>
</tr>
<tr>
<td>Klasse: </td>
<td><input id="klasse" type="text" name="klasse" class="cred_input" /> </td>
</tr>

然后是一些javascript

<script>

function populateData()
{
//alert('in populateData');
y = document.getElementById("selectbox");
document.getElementById("klasse").value = [y.selectedIndex];
document.getElementById("klubb").value = [y.selectedIndex];

}
</script>

这里的结果是<td>klubb中的一个数字和 <td>klasse根据我在下拉菜单中的选择。

我如何在 javascript 中将数组与该索引号连接起来,以便显示数组中的实际数据?

几天来我一直在寻找答案,但找不到任何可以回答我问题的东西。

感谢您的帮助!

最佳答案

您可以为此使用 AJAX。

有关如何在 Mysql 中使用 AJAX 和 PHP 脚本的教程 This可以帮助你。

首先您需要创建一个 PHP 脚本来收集填写表格所需的数据。

将 AJAX 设置为在您每次在下拉列表中选择某项时触发,并将其值传递到您创建的 PHP 脚本。

在您的 AJAX 脚本上,将其配置为调用您创建的用于检索数据的 PHP 脚本(将根据您的下拉列表在该脚本中抛出一个值)。

一旦您收到来自 AJAX 调用的响应,只需使用简单的 Javascript 即可根据收到的数据填写表单。

另一个提示是使用 JQuery,因为它更容易设置 AJAX 请求。

关于javascript - 如何根据下拉菜单选择使用数据库中的数据自动填充表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31983902/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com