1

我的网页允许用户从下拉列表中选择项目并有一个表格。Javascript 在 javascript 创建的新表行中打印出每个下拉列表项(加上 javascript 从 XML 文件中提取的额外信息)。

我希望能够将表信息写入磁盘。如果我使用的是 Javascript,我会使用 document.getElementByID("table") 解析节点并将该信息放入我可以编写的变量中。但是,我发现的大多数文档都说 Javascript 不用于写入磁盘。所以,我认为我应该使用 php。

什么是 Javascript 的“文档”对象的 php 等价物?在 Javascript 中,我不需要定义任何新对象来使用它,我可以随时使用“文档”。我认为在 php 中我必须使用新的 DOMDocument。然后加载html。

大多数 php 示例显示 loadHTML(string) 和 loadHTMLFile(); 我不想从我写在标签内的字符串中加载 HTML。而且我不想从 .htm 文件中加载 HTML,因为那是原始文件,而 Javascript 已根据用户从下拉菜单中的选择更改了用户的文件。

我想使用 php 访问当前文档的元素。那么,php是如何引用当前文档的呢?

我正在处理的页面是http://music.collwyncraig.info/hajimama/setlist.htm

4

2 回答 2

1

我认为您对架构的想法是错误的。编程语言之间有一种交互方式。

  • php 是一个预处理器,它生成 - 你想要的任何东西 - 通常是 html,包含 javascript、css 和任何东西......
  • javascript 是一种动态语言,可以在生成的 html 文档中进行交互,或者通过 ajax 调用其他提供 html、javascript、css 或任何需要的服务
  • 和 html - 即显示的文档对象,可以在运行时通过 javascript 和 css 等样式进行修改...

所以当你在你的文档中调用javascript函数时——基本的php已经完成了它的工作。

您可以先将其存储在 var 中,而不是将所有从 php 生成的内容直接打印到屏幕上。

例如:

$myContent = "<html><head>...</head><body><h1>Whatever...</h1></body>";

因此,您可以执行以下操作将其打印在屏幕上:

print "myContent";  // and it is shown on the screen

或者

$myFile = "testFile.html";
$fh = fopen($myFile, 'w') or die("can't open file");
$myContent = "<html><head>...</head><body><h1>Whatever...</h1></body>";
fwrite($fh, $myContent);
$myContent = "Whatever2";
fwrite($fh, $myContent);
fclose($fh); 

所以你的文件的内容是:

<html><head>...</head><body><h1>Whatever...</h1></body>Whatever2

然后可以loadHTML按照您想要的方式调用或使用此生成的文档。

这只是作为您可以思考的方向的提示-有多种解决方法-因此,在不了解您真正想要的更多信息的情况下-提及适当的解决方案并不容易。

于 2012-04-06T06:58:17.497 回答
0

$_SERVER['SCRIPT_NAME']对于主文件。

或者

__FILE__获取调用它的文件的完整路径。

PHP 没有像 jQuery 这样的内置 DOM Manipulator - html 输出通常是通过您选择的某些模板引擎或手动生成的。如果你想要像 jQuery 这样的 DOM 操作,你可能想试试 PHPQuery

http://code.google.com/p/phpquery/

于 2012-04-06T06:46:41.773 回答