0

我是 PHP 和 javascript 的新手。基本上我想将输出从 PHP 传递到 Javascript。

我有一个 readStatus.php 文件:

<?php
$myLocalFile = "LEDstate.txt";
$f = fopen($myLocalFile, 'rb');
$theData = fread($f, filesize($myLocalFile));
fclose($f);
if($theData == "1")
{
    echo "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
}
else
{
    echo "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>

我想通过不同的条件将 2 放在我的 HTML 页面中的相同位置。

在 HTML 页面上,我有

<td><script type="text/javascript" src="readStatus.php"></td>

这是行不通的。显然我做错了什么,但我无法弄清楚。在这里需要帮助,在此先感谢。

4

6 回答 6

1

尝试在隐藏的表单字段中打印您的 php 输出,然后使用 JS 从这些字段中读取并获取数据...

于 2012-05-30T06:13:04.663 回答
0

您实际上试图传递给 javascript 的数据是什么?

最简单的方法是在页面中使用 php 编写 javascript:

<?php
$myLocalFile = "LEDstate.txt";
$f = fopen($myLocalFile, 'rb');
$theData = fread($f, filesize($myLocalFile));
fclose($f);
if($theData == "1")
{
    echo "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
}
else
{
    echo "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>

<script type="text/javascript">

jsVar = <?php echo $phpVar; ?>;

</script>
于 2012-05-30T06:21:25.337 回答
0

试试这个:

<?php 
    $myLocalFile = "LEDstate.txt"; 
    $f = fopen($myLocalFile, 'rb'); 
    $theData = fread($f, filesize($myLocalFile)); 
    fclose($f); 
    if($theData == "1") 
    { 
        echo "document.write(\"<img border='0' src='/cmos/images/device_on.png'>\");"; //image 1 
    } 
    else 
    { 
        echo "document.write(\"<img border='0' src='/cmos/images/device_off.png'>\");"; //image 2 
    } 

?>
于 2012-05-30T06:58:12.033 回答
0

不要使用 JavaScript。

将您的主文件从 html 更改为 php-page 并执行以下操作:

<?php
$myLocalFile = "LEDstate.txt";
$f = fopen($myLocalFile, 'rb');
$theData = fread($f, filesize($myLocalFile));
fclose($f);
if($theData == "1")
{
    echo "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
}
else
{
    echo "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>
</td>
于 2012-05-30T07:43:07.793 回答
-1

这是一个基本的理解问题。您的浏览器从该代码中得到的是:

<script type="text/javascript">
<?php
$myLocalFile = "LEDstate.txt";
$f = fopen($myLocalFile, 'rb');
$theData = fread($f, filesize($myLocalFile));
fclose($f);
if($theData == "1")
{
    echo "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
}
else
{
    echo "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>
</script>

那不是javascript吗?您正试图让浏览器将 PHP 代码解析为 Javascript,但这是不可能的。

你应该做的是在 td 中使用 include('readStatus.php') 或简单地将 php 代码粘贴到 td 中。

使用这两种解决方案中的任何一种,您都必须将 HTML 的扩展名更改为 PHP 以使其理解 PHP 代码,否则它会将其解析为文本

于 2012-05-30T06:17:59.337 回答
-1
<?php
// do whatever you like
if($theData == "1") {
    $image = "<img border='0' src='/cmos/images/device_on.png'>"; //image 1
} else {
    $image = "<img border='0' src='/cmos/images/device_off.png'>"; //image 2
}
?>

然后在html中你这样调用 -

<script type="text/javascript" src="<?php include('readStatus.php'); echo $image; ?>">
于 2012-05-30T06:18:53.337 回答