2012-04-15 66 views
0

我试图通过的onClick attribute.Heres到PHP变量传递给JavaScript函数的代码段,我试过,但它不工作 PHP节:着通PHP变量的JavaScript

<li id="' . $todo1 . '" class="items">' . $todo1 . '<button onclick="ajaxdelete(' . $todo1 . ')">Delete</button></li> 

Javascript功能

<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script language="JavaScript" type="text/javascript"> 

function ajaxdelete(x){ 
    var todo = x; 
    var hr = new XMLHttpRequest(); 
    var url = "ajaxtododelete.php"; 
    var vars = "todo="+todo; 
    hr.open("POST", url, true); 
    //Random Ajax stuff 
    } 
+4

_“但它不工作”_嗯,这就是说这一切。 – gdoron 2012-04-15 12:18:14

+0

也许你可以尝试发布呈现的HTML :) – 2012-04-15 12:19:18

回答

1

您需要在变量前后加上一些php标签。 例如你的情况:

<? $todo1 ?>

<?php $todo1 ?> 

,并确保$ todo1得到了你想要使用的值。

您的意见 后

==更新您似乎希望将JS变量传递给PHP端......在这种情况下,你需要修复你的问题,你的Ajax调用的数据传递给类似:

hr.open("GET", url + "/?" + vars, true); 

由于您使用POST,你不能只是在瓦尔添加到URL(顺便说一句,你的情况不使用“瓦尔”的结束,这是你没有在服务器得到任何东西的方法)。

顺便说一句,你的html的输出将在这里帮助。

+0

没有把这个变量传递给ajax。 – higfox 2012-04-15 12:22:08

+0

“...我试图通过onClick属性将一个php变量传递给一个javascript函数..” - 如果您尝试将php数据传递给js,您希望服务器创建html,然后将其发送给客户。 – 2012-04-15 12:24:15

0

为了打印包含在PHP变量中的值,您必须调用echo,print等,或将其放在双引号(而不是单个引号)之间。另外,把伊多格林提到的php标签。