2012-04-15 29 views
0

Ich versuche, ein PHP-Variable auf eine Javascript-Funktion über das onClick attribute.Heres das Stück Code zu übergeben, die ich versucht habe, aber seine Arbeit nicht php Sektion:kippt Pass PHP-Variablen Javascript

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

Javascript Funktion

<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

_ "aber es funktioniert nicht" _ ähm, das ist alles. – gdoron

+0

Vielleicht könnten Sie versuchen, das gerenderte HTML zu posten :) –

Antwort

1

Sie müssen einige pHP-Tags vor und nach der variablen zu. Zum Beispiel in Ihrem Fall:

<? $todo1 ?>

oder

<?php $todo1 ?> 

und stellen Sie sicher, dass $ todo1 den Wert bekommen Sie verwenden möchten.

== Update nach Ihren Kommentaren Es scheint, Sie wollen den JS-Variable auf die PHP-Seite passieren ... in diesem Fall, müssen Sie Ihre Frage beheben und die Daten in der Ajax-Aufruf zu so etwas wie passieren:

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

Da Sie verwenden POST Sie können nicht nur die vars zum Ende der uRL hinzufügen (btw, die Sie in Ihrem Fall nicht verwenden ‚vars‘ und das ist so, wie Sie sind auf dem Server nicht immer alles).

BTW, eine Ausgabe Ihres HTML wird auch hier helfen.

+0

gibt es keine out, die diese Variablen an Ajax übergeben wird. – higfox

+0

"... Ich versuche, eine php-Variable über das onClick-Attribut an eine JavaScript-Funktion zu übergeben." - Wenn Sie versuchen, php-Daten an js zu übergeben, möchten Sie, dass der Server den HTML-Code erstellt und dann an den Klient. –

0

Damit der in einer PHP-Variablen enthaltene Wert gedruckt werden kann, müssen Sie entweder echo, print usw. aufrufen oder zwischen doppelten Anführungszeichen setzen (nicht einzeln). Setzen Sie auch die PHP-Tags, die Ido Green erwähnt.