gpt4 book ai didi

php - 根据选择标签(下拉菜单)中的选择自动填充表单中的字段

转载 作者:行者123 更新时间:2023-11-29 06:55:04 25 4
gpt4 key购买 nike

我有一个带有选择标签的表单;从下拉列表中选择一个项目后,其余表单字段应相应填写。请注意,所有表单数据都来自 mysql 数据库。下面是我的代码:

    <script language="javascript" type="text/javascript">
function populateData($id)
{
alert('in populateData');
y = document.getElementById("selectCard");
document.getElementById("to_address").value = to_address[y.selectedIndex];
document.getElementById("subject").value = subject[y.selectedIndex];
document.getElementById("email_content").value = email_content[y.selectedIndex];
}
</script>
<body>
<?php
mysql_connect("localhost", "someUser", "password") or die("Connection Failed");
mysql_select_db("mns")or die("Connection Failed");
$query = "SELECT * FROM table";
$result = mysql_query($query);
?>
<select id="selectCard" class="dropdown" onchange="populateData($id)">
<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<option value="<?php echo $line['source_name'];?>"> <?php echo $line['source_name'];?>
<?php
$id = $line['source_id'];
$source_name = $line['source_name'];
$source_email = $line['source_email'];
$phone_no = $line['source_id'];
$disteller_function = $line['disteller_function'];
}
?>
</select>
<P><INPUT ID="to_address" TYPE="TEXT" NAME="to_address" SIZE="25"></P>
<P><INPUT ID="subject" TYPE="TEXT" NAME="subject" SIZE="25"></P>
<P><INPUT ID="email_content" TYPE="TEXT" NAME="email_content" SIZE="500"></P>
<P><INPUT TYPE="SUBMIT" VALUE="Submit" NAME="B1"></P>
</body>

当我将“$id”作为参数传递时,“populateData($id)”函数未被调用。当我删除该参数时,代码有效,但我在其余表单字段中得到“undefined”。

非常感谢任何帮助。

无名氏

最佳答案

首先,将参数 $id 传递给 populateData() 似乎很奇怪因为您没有在该函数内的任何地方使用它。也许你应该重新检查你的代码,看看它是否符合你的设计,你真正想做什么以及应该如何完成。

您的调用不起作用的原因是 PHP 变量必须以 $ 开头但 Javascript 变量不能,而且最重要的是:您不能只在客户端 Javascript 代码中引用服务器端 PHP 脚本变量。您需要让您的 PHP 服务器端脚本回显(输出)您的 PHP 脚本变量的值 $id作为参数 id在用户浏览器将接收并运行客户端的 HTML+Javascript 代码的函数调用上(如果 $id 是一个数字并且您希望将其作为数值传递给 populateData(),则可以不使用单引号) .

只需从参数 $id 中删除 $在函数声明上并将其设置在单引号内的 PHP 标记之间,以将其作为字符串参数回显给调用 HTML 输出的函数:

function populateData(id){
...
}
...
<select id="selectCard" class="dropdown" onchange="populateData('<?php echo $id; ?>')">

此外,我还建议您使用在浏览器中打开的 Javascript 控制台进行测试(即 Web Developer -> Web Console 或 Firefox 中的 CTRL+SHIFT+K),这可以帮助您即时跟踪类似此类的 future 错误。

关于php - 根据选择标签(下拉菜单)中的选择自动填充表单中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13232944/

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