dtsjq28482 2017-02-21 15:37
浏览 80
已采纳

如何通过iframe将php变量传递给javascript

I am trying to pass a php variable value, through an iframe over to a javascript variable. All files are on my own server and domain.

This is my html file:

<html>
<head>
    <?php 
        $userOutput = "bob"; 
    ?>
</head>
<body>
    <p id="test123"><?=$userOutput?></p>
</body>
</html>

And in my original page i try to access the information like this:

<iframe id="iframeId" src="http://path/to/file.html"></iframe>
<script>
   window.onload = function() {
      var iframeDoc = document.getElementById('iframeId').contentWindow.document;
      var test = iframeDoc.getElementById('test123').value;
      console.log(test);
   };
</script>

Now, i do manage to reach my content, and i have tried before to just get the value of some input field i put in my "file.html" with success, but i can't seem to reach the php variable value ("test" shows up as undefined)

  • 写回答

2条回答 默认 最新

  • dongxun7962 2017-02-21 15:59
    关注

    So anything that holds php needs to go into a .php file rather than a .html

    as an example:

    variableStored.php:

    <html>
    <head>
        <?php
        $userOutput = "Frrrrrrr";
        ?>
    </head>
    <body>
        <p id="test123">
            <?php echo $userOutput; ?>
        </p>
    </body>
    </html>
    

    Take Note: when echo'ing out, its always best to <?php echo 'something';?>

    rather than <?='something'?>

    Then within lets say iframe.html:

    <iframe id="iframeId" src="http://siteurl/variableStored.php"></iframe>
    <script>
        window.onload = function() {
            var iframeDoc = document.getElementById('iframeId').contentWindow.document;
            var test = iframeDoc.getElementById('test123').value;
            console.log(test);
        };
    </script>
    

    This will then fetch everything from variableStored.php as you want it to.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵