PHP + JQuery – 如何将这两者结合使用? 请看我的例子

我有一个基于PHP的网站。 如同,所有的页面html都是通过php输出的。

这是一个简单的例子:

<?php ob_start(); $pageStart = '     MY WEBSITE PAGE   

CONTENT

'; echo $pageStart; exit; ?>

我想做的是在这个页面中使用一些jquery。

所以我自然而然地第一次尝试将脚本包含在php变量中,如下所示:

 <?php ob_start(); $pageStart = '     Untitled Document  var datefield=document.createElement("input") datefield.setAttribute("type", "date") if (datefield.type!="date"){ //if browser doesn't support input type="date", load files for jQuery UI Date Picker document.write('\n') document.write('\n') document.write('\n') }   if (datefield.type!="date"){ //if browser doesn't support input type="date", initialize date picker widget: jQuery(function($){ //on document.ready $('#birthday').datepicker(); }) }    

CONTENT

'; echo $pageStart; exit; ?>

现在,我使用dreamweavers代码编辑器,由于语法高亮function,将指出在此产生的大量语法错误。

所以我起初试图削减这些错误。 这失败了。

所以我尝试将“s”更改为“s”,反之亦然,直到错误消失为止。这也失败了,因为脚本似乎不会以这种方式validation。

所以我读了几个教程,发现了这个:

JavaScript和PHP可能各自为任何Web开发工作带来巨大潜力,但它们并不总能很好地协同工作。 阅读有关问题的信息。

而我理解它的方式是,你需要包含js而不是直接将它作为你的php的一部分。

所以有一个名为page.php的文件和另一个名为jquery.php的文件。 所以我决定尝试修改这个想法来解决我的问题。

所以我开始使用这样的东西 – index.php:

 <?php ob_start(); $pageStart = '     MY WEBSITE PAGE '. include $_SERVER['DOCUMENT_ROOT'] . '/../../path/to/include/datepicker.php'.'   

CONTENT

'; echo $pageStart; exit; ?>

并且 – datepicker.php:

  var datefield=document.createElement("input") datefield.setAttribute("type", "date") if (datefield.type!="date"){ //if browser doesn't support input type="date", load files for jQuery UI Date Picker document.write('\n') document.write('\n') document.write('\n') }   if (datefield.type!="date"){ //if browser doesn't support input type="date", initialize date picker widget: jQuery(function($){ //on document.ready $('#birthday').datepicker(); }) }  

现在这两个页面都没有语法错误,很棒…所以我试试看,有一半期望事情最终正常工作……

不…致命错误:无法打开流:没有这样的文件或目录等等等等。 此错误与我添加的包含有关。 好吧,即使文件存在,它也没有被validation为php,因为没有打开和关闭php标签。

所以我添加它们…… Annnd …再次出现语法错误的页面!

所以我的问题是:

有些人可以分享一些知识并向我解释这个过程实际上是如何运作的。 处理所有语法错误是什么,你应该怎么做这样的任务?

我相信它是可能的,是的,如果我没有通过php输出整个html,它会更容易。 但这是一个简单的例子,我的实际设计更复杂。 它需要将页面的不同部分分解为变量,以便在需要时动态地放置这些位和peices。

任何意见,建议或见解将不胜感激; 任何涵盖此内容的页面或教程的链接也将不胜感激。

谢谢!!

要在PHP中使用jQuery,您需要做的就是在头标记的HTML文档中包含jQuery javascript文件。 我实际上一直使用PHP和jQuery。 这就是我的方式。 在上面的代码中,您的代码看起来有一些转义问题。 而且看起来你想要在PHP变量中保存页面的标题然后将其打印出来。 你不必这么做。 只需将纯文本放在PHP文件中,不带任何php标记,它就能正常工作。 此外,您使用的是旧版本的jQuery。 应该使用最新版本。 但是,如果您需要将它存储在PHP变量中以便打印出来,请执行以下操作:

那么,这里有一些代码可以帮助您入门。

     MY WEBSITE PAGE         '; print $pageStart; ?> 
        

和+1111到@ Heera的评论你错过了基础知识。

使用Heredoc 。 成千上万的语法错误将消失。

查看页面的heredoc版本,

  1. http://pastie.org/3412925
  2. http://pastie.org/3412929
  3. http://pastie.org/3412935 //您在此处使用了include来联系。 include不返回任何东西。 它只包括。 所以它的变化不同。

我认为应该是

 . (include ($_SERVER['DOCUMENT_ROOT'] . '/../../path/to/include/datepicker.php')) . 

否则php将尝试包含所有内容,直到达到l(标记将被解释为文件名的一部分)。

另外,就php代码而言,在包含文件(成功)之后,include语句将转换为1作为数字,而不是文件的内容。

使用

  

对于要包含的所有文件