使用javascript操纵php变量和函数

时间:2014-04-11 08:11:06

标签: javascript php jquery html

我有关于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变量?

2 个答案:

答案 0 :(得分:5)

在回答你的问题之前,我想指出一些在这里非常重要的事情。您的Web应用程序的工作方式如下

  1. 您的应用程序在服务器上生成HTML(PHP)
  2. 您的网络服务器正在向您的浏览器提供HTML
  3. 正在从您的浏览器中解析HTML,以便初始化DOM树(document JavaScript对象及其所有子对象)
  4. 事实上,JavaScript和PHP完全无法相互理解。这意味着JavaScript不知道或不关心您的代码是来自PHP,Python还是静态HTML页面,并且PHP不知道或不关心它生成的代码是否会被JavaScript操纵。

    您想要做的事情是操纵表格的DOM元素,绝对可能的。这会改变留在浏览器,但不会传播到服务器。

    如果您想将这些更改发送到服务器,则必须准备一个PHP文件,该文件将接受数据并将其保存到您使用的数据库,文件或任何介质中保持您的数据。要做到这一点,您将需要提交表单或使用AJAX执行此操作。 jQuery提供great functions来处理AJAX请求。

    我希望这对你有所帮助。

答案 1 :(得分:0)

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

试用DEMO