gpt4 book ai didi

javascript - 用php发送文件名并用js处理

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

我有以下代码的问题,它应该向我显示警报!js 不能从 php 获取文件名吗?为什么?

首先我创建了一个名为“txt”的文件夹,然后我在其中放入了 4 个名为“a”、“b”、“c”、“d”的 txt 文件。这些文件被正确读取,但 java 脚本没有响应。

<!doctype html>
<html>
<head>
<script>
<!-- Get and show File NAme-->
function show(x)
{
alert(x);
}

</script>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<?php
$path='txt/';

$i=1;
$d=opendir($path);
while($f=readdir($d))
{
$i++;
if($f!='.' and $f!='..')
{
echo '<a href="#" onClick="show('.$f.')">'.$f.'</a><br/>';
}
}
?>

</body>
</html>

在控制台模式下,它会出错,因为您的文件内容 (a,b,c,d) 未定义!

最佳答案

您的代码将打印类似这样的内容:

<a hre="#" onclick="show(filename)">filename</a>


onclick 中的 filename 被视为变量名,因为您没有将它包含在字符串引号中。
所以解决方案是在 php 变量周围添加引号:

echo '<a href="#" onClick="show(\'' . $f . '\')">'.$f.'</a><br/>';

并以更易读的方式:

printf('<a href= "#" onClick="show(\'%s\');">%s</a> ', $f, $f);

最后请记住,您可能需要使用 htmlspecialchars 在将数据打印到 HTML 之前。

关于javascript - 用php发送文件名并用js处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58452837/

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