1

以下是我遇到的问题。我一直在使用 php,这一切都很好。我遇到的问题是 JavaScript。我的导师帮助我设置了一个 JavaScript 来在后台完成这项工作,所以这不是我的问题。我对 JavaScript 很陌生,甚至不知道在下面的部分中运行命令。JS代码已经用一个标签作为href实现了,所以我知道它可以工作,只是不知道如何在这里应用它。

 <?php           

        if (isset($_GET['item'])) { ** This way it is dependent on them having created a product and the add page redirecting them with all required info to pop up the edit form. **

?>   

            ** This is the section I have the problem with... No idea how to implement the following correctly. **

            <script>

                openEditItemForm(<?php echo $_GET['item'] ?>);

            </script>

 <?php

        } else{

            }

?>

抱歉,如果这似乎是一个相当荒谬的问题,但正如我所说,我对 JS 的接触极少,甚至不知道如何在搜索中找到我正在寻找的东西。

编辑:好的,所以我有点离开这个开放式结束这是为了什么......这是一个后端部分,我的客户将在他的网站上添加项目。“openEditItemForm”是在别处定义的,并且在页面上的另一点起作用。这不是我的问题。我在这部分的问题实际上是在重新打开页面并且 url 包含项目标识时运行代码。在将代码更改为 json_encode 等推荐的代码后,它仍然没有完成它创建的功能。

另外,感谢 Rick Burgess 解释为什么要包含 json_encode,感谢 Brad 和 steveukx 提供更新的代码。

再说一次,我在这方面迷失了方向,所以我可能会再次寻找错误的交易。该代码应该打开一个对话框,其中包含一个编辑表单。以另一种形式在页面的其他地方工作(如上面在 < a > 标签的 href 部分中所述)。我期待不会发生的事情吗?

第二次编辑:好的,所以我忽略了我试图开始工作的功能已经工作了......下面的人提供的编码帮助很大。奇迹般有效。现在,一旦客户输入项目标识符,它就会调用对话框。惊人的!

4

1 回答 1

3

如果$_GET['item']是字符串,则需要将其用引号括起来以防止导致 JavaScript 错误:

<script>
    openEditItemForm("<?php echo $_GET['item'] ?>");
</script>

值得注意的是,这将是一个安全漏洞,您应该确保在将其打印到文档之前验证该值。

正如布拉德所评论的,应该应用于用户内容的最低限度是json_encode

openEditItemForm("<?php echo json_encode($_GET['item']) ?>");
于 2013-04-02T16:33:17.977 回答