gpt4 book ai didi

php - 在 PHP block 内使用 Javascript 设置 HTML 文本框的值(使用 echo)

转载 作者:行者123 更新时间:2023-12-02 19:24:32 24 4
gpt4 key购买 nike

我试图根据选择的 HTML 选择框选项运行 MySQL 查询,然后获取查询结果并将其输出到 HTML 文本框,但无济于事。我将 switch 语句与超全局 $_GET 一起使用。我试图在 PHP block 内使用 Javascript 设置 HTML 文本框的值(使用 echo),但它不起作用。文本框尚未填充(仍为空白)。这可能是因为 PHP 在文本框初始化之前运行,还是我还缺少其他东西?我确信数据库登录信息是正确的,并且查询确实有效。代码如下。

<?php
---db login info here---

switch($_GET['string'])
{
case "another string":
$query = mysql_query("SELECT field1 FROM table1 WHERE id = '1'");
$row = mysql_fetch_row($query);
break;
}

echo "<script type='text/javascript'>";
echo "document.getElementById('textbox').value = '$row[0]'";
echo "</script>";
?>

最佳答案

几件事:

  1. 当您在浏览器中访问网站时,您可以通过检查网站的“源”来验证 PHP 部分是否正常工作(<script> 部分是否符合您的预期?)

  2. 请注意,文档中的“文本框”必须早于该脚本出现

  3. 如果相关元素是 <textarea> ,它没有 value属性,并且您需要使用 innerHTML或类似的。

  4. 如何实现这一点可能存在更大的问题(这是 ajax?所有一个请求?为什么不简单地使用 php 编写文本框?)

编辑,使用 PHP 进行

如果 <input> 是由您的代码编写的,首先使用 php 来完成(然后你会获得不依赖 js 的额外好处:

switch($_GET['string'])
{
case "another string":
$query = mysql_query("SELECT field1 FROM table1 WHERE id = '1'");
$row = mysql_fetch_row($query);
$textboxValue = $row[0];
break;
}
?>
// ...
<input type="text" name="foo" id="textbox" value="<?php echo $textboxValue;?>" />

关于php - 在 PHP block 内使用 Javascript 设置 HTML 文本框的值(使用 echo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12181923/

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