0

我正在尝试清理我的页面,我这样做的主要方法之一是将 JavaScript 和 JQuery 函数放入一个名为“scripts.js”的文件中,该文件会在页面加载时自动访问。

我遇到了使用 php 从页面本身调用的函数的问题。例如,下面的函数不起作用,实际上“杀死”了所有页面的脚本(所以现在应该隐藏的东西没有,并且东西没有正确加载)。我已经把它缩小到我用来调用变量的事实。我真的希望能够在这个通用文件中保留使用 PHP 的函数,而不是阻塞 HTML 模板页面,任何关于如何使其工作的想法,或者如果不是我可以如何调用所需的值? 如果有帮助,它们总是在渲染之前被提取到页面中。

function positiveSelect()
{
   var size = <?php echo $idea[0]["size"]; ?> * 1;
   if (size > 5)
      return true;
   else
      return false; 
}
4

5 回答 5

4

如果您无法从 DOM 本身检索数据,您可以使用相应的对象存储值:

 <div data-size=20>

然后用以下方法检索它:

 $(element).data("size");

或者,如果您有要存储的全局数据,您可以在 html 文档的头部创建一个值“容器”,如下所示:

<script type="text/x-json" class="global-data">{"value1":"1","value2":"2"}</script>

然后读取该元素的内容并使用JSON.parse

于 2013-01-16T16:59:19.827 回答
2

如果这个函数是特定于某个页面的,你可能想要添加一个刚刚加载到该页面上的第二个 js 脚本。

另一种方法是在该 php 页面中回显一个 js 变量,并让您的代码使用该变量作为参数调用该函数。

于 2013-01-16T16:55:32.317 回答
2

您可以给 javascript 一个“.php”扩展名,并以完全相同的方式在脚本中调用它:

<script type="javascript" src="path/to/scripts.php"></script>
于 2013-01-16T16:55:37.257 回答
0

您可以将生成脚本文件命名为 scripts.php 或 scripts.js.php;然后 PHP 预处理器将处理该文件并评估 PHP 语句。

于 2013-01-16T16:55:13.843 回答
-1

将 php 或任何服务器端语言与 javascript 混合时,您需要注意,当在客户端创建 javascript 文件时,php 只会执行一次。

这可能就是您得到意外结果的原因。当您从一个页面移动到另一个页面时,全局 scripts.js 中的 php 片段将不会得到更新。

于 2013-01-16T16:57:21.473 回答