【问题标题】:javascript not reading PHP variable correctly in window.openjavascript没有在window.open中正确读取PHP变量
【发布时间】:2020-12-23 18:21:18
【问题描述】:

我有一个非常简单的表格,用于检索某些人的收入信息。 该表正确检索数据并将文件的链接存储在一个变量中,如下所示:

$file = "/".$row[9];

$row 来自 while 循环。我在表格中有一个按钮:

<button id = "openbtn" class = 'actionbtn' onClick = "window.open('<?php echo $file;?>')" title = 'Open Attachment'><i class='fa fa-file'></i></button>

如果我在手动设置链接的位置创建新变量:

$file2 = '/folder1/folder2/somename.pdf';

然后按钮将正常打开。但它不适用于 $file ,我得到 Uncaught SyntaxError: Invalid or unexpected token。

有什么线索吗?

【问题讨论】:

  • 看看在浏览器中生成了什么......检查元素,看看php代码吐出什么。
  • 我做了,实际上$file2是基于echo $file one创建的;有没有我看不到的隐藏字符和javascript捕获的机会?无论如何要“清理”字符串/
  • 这是什么?复制并粘贴生成的内容....
  • /scans/migrated/4099_20046_INCOME_23594.pdf
  • 我什至尝试修剪字符串但仍然不起作用

标签: javascript php html button


【解决方案1】:
foreach($row as $myfile){
   echo '<button
                 id="openbtn"
                 class="actionbtn"
                 title="Open Attachment"
                 onclick="window.open('."'$myfile'".');"
                 >
                 <i class='fa fa-file'></i>
         </button>';
}

试试这个循环

【讨论】:

  • 我确实有 " ,但没有 ; 不,仍然不起作用
【解决方案2】:

trim($file) 和更改 "" 的组合做到了:

<button id = "openbtn" class = 'actionbtn' onClick = 'window.open(<?php echo '"'.$file .'"';?>);' title = 'Open Attachment'><i class='fa fa-file'></i></button>

【讨论】:

    猜你喜欢
    • 2017-12-06
    • 2012-12-29
    • 2015-12-18
    • 2021-12-22
    • 2019-06-16
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多