使用javascript操作php变量和函数


Manipulate php variables and functions using javascript

我有一个关于php和javascript的问题。我对此很陌生。

我有一个php数组,我使用php函数来可视化页面中的这些信息。特别是,我使用了一个Jquery表,我有一个简单的php脚本来生成这个表:

在html <body>标签中,我有:

<table cellspacing="1" class="tablesorter">             
    <thead>
        <tr>
            <th>GoTo</th>  
            <th>Latitude</th> 
            <th>Longitude</th> 
            <th>OtherInfo</th> 
            <th>Saved</th>
        </tr> 
    </thead> 
    <tbody id="table">
    <?php
    $index = 0;
    foreach ($entries as &$value) {
        echo("<tr><td><a href='"javascript:moveToLocation($value->latitude,$value->longitude,'$value->otherInfo');'">Go to</a></td>");
        echo("<td>".$value->latitude."</td>");
        echo("<td>".$value->longitude."</td>");
        echo("<td>".$value->otherInfo."</td>");
        echo("<td id=textNotsaved>Not saved</td>");
        echo("</tr>");
        echo("<script> addMarker(".$value->latitude.",".$value->longitude.",".$index."); </script>"); 
        $index++;
    }
    ?>
    </tbody> 
</table>

现在,我想使用一些javascript函数(因此,javascript事件)来修改表中的一些单元格。

1)最好的方法是什么?

2)我的php数组对应于我的模型(如果我想在我的简单页面中考虑MVC),是否可以使用javascript修改php变量?

在回答您的问题之前,我想指出几件非常重要的事情。您的web应用程序的工作方式如下

  1. HTML是由您的应用程序在服务器上生成的(PHP)
  2. HTML正由您的web服务器提供给您的浏览器
  3. 正在从浏览器中解析HTML,以便初始化DOM树(document JavaScript对象及其所有子对象)

事实上,JavaScript和PHP是完全不可知的。这意味着JavaScript不知道或不关心您的代码是否来自PHP、Python或静态HTML页面,PHP也不知道或关心其生成的代码是否会被JavaScript操纵。

实际上您想做的是操作表的DOM元素,这是绝对可能的。不过,这些更改将保留在浏览器上,并且不会传播到服务器。

如果您想将这些更改发送到服务器,您必须准备一个接受数据的PHP文件,并将其保存到数据库、文件或任何用于保存数据的介质中。要做到这一点,你要么必须提交一个表单,要么使用AJAX。jQuery提供了处理AJAX请求的强大功能。

我希望这对你有所帮助。

X-editable可能适合您。如果您想更改值,它可以进行AJAX回发。

试试DEMO。