【问题标题】:missing ) after argument list in html form code缺少 ) 在 html 表单代码中的参数列表之后
【发布时间】:2009-05-07 02:21:33
【问题描述】:

我正在尝试使用以下代码在弹出窗口中显示 $formcode,它是表单的 html 代码。我知道这不是一个理想的方法,但我想了解它为什么不起作用。

<?php
$blah = "Well"; $test = "Done";
echo '<script type="text/javascript" src="fetchlayers.js"></script>';
$formcode = "<form action=\"process.php\" method=\"post\" enctype=\"multipart/form-data \"><label for=\"file\">Filename:</label><input type=\"file\" name=\"file\" id=\"file\"/> <br /><input type=\"submit\" name=\"submit\" value=\"Submit\" onclick=\"setTimeout(function() { alert('$blah'); },1250);\" /></form>";


echo "<h1>hello</h1>
<div id='form'>
<a href='#' onclick=\"createpopup('" . htmlentities($formcode) . "'); return false;\">
click here</a>
</div>";

在 Firebug 中,我在参数列表之后丢失了 ),这似乎有些随意,因为括号的数量是正确的。

【问题讨论】:

  • 查看生成的代码会很有帮助,这就是浏览器所看到的。

标签: php javascript


【解决方案1】:

我不确定是不是这个,因为我无法测试它,但检查警报('$blah')

我认为应该是\'

alert(\'$blah\')

【讨论】:

    【解决方案2】:

    我不确定您所说的不工作是什么意思,但如果您的意思是窗口没有弹出,那么问题出在您的 fetchlayer.js 文件中。但其他明智的做法是让我们知道您所说的不工作到底是什么意思。

    【讨论】:

      【解决方案3】:

      $formcode 的内容需要双引号转义:

      alert(\\'$blah\\');
      

      使字符串包含“\'”。

      【讨论】:

        猜你喜欢
        • 2016-10-22
        • 1970-01-01
        • 2020-11-18
        • 1970-01-01
        • 2017-09-01
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多