2012-04-30 29 views
0

例如如何传递的JavaScript jQuery的变量值在PHP阵列

var dirnm = jQuery.trim($('#dirname').val()); 
var parent1 = jQuery.trim($('#parent').val()); 

var url = '<?=$this->url(array('controller'=>'index','action'=>'dirnameex','dirname'=>dirnm ,'parent'=>parent1))?>'; 

dirnmparent1是AJAX变量。 所以我想通过dirnmparent1到一个php数组。

+0

这不会工作JavaScript在浏览器中执行,PHP在服务器上执行 - 您需要将JavaScript中的变量POST到PHP,dirnm和parent1是AJAX变量上的JavaScript变量... [ AJAX](http://en.wikipedia.org/wiki/Ajax_(编程))是一种技术而不是语言 – ManseUK

+0

您需要使用ajax将变量从AJAX发送到PHP – 472084

+0

可能的重复[将一个js变量传递给一个PHP变量](http://stackoverflow.com/questions/4716177/pass-a-js-variable-to-a-php-variable) – JJJ

回答

0

php运行服务器端,JavaScript运行客户端,所以你不能这样做。

您可以使用ajax将变量传递给php。但这将是一个单独的线程。

1

这不会工作,因为JavaScript在浏览器中执行和PHP的服务器上执行..所以该页面加载到浏览器和JavaScript执行....

之前,PHP会执行什么你可以做的是POST的变量PHP:

var dirnm = jQuery.trim($('#dirname').val()); 
var parent1 = jQuery.trim($('#parent').val()); 
$.post("sript.php", { dirname: dirnm, parent: parent1 }); 

然后在PHP(script.php):

// get the variables from $_POST 
$dir = $_POST['dirname']; 
$par = $_POST['parent']; 
$this->url(array('controller'=>'index','action'=>'dirnameex','dirname'=> $dir,'parent'=> $par)) 

Docs here for $.post() (jQuery)Docs here for $_POST (PHP)

+0

感谢ManseUK,但这个代码在jQuery和JavaScript专注事件。我能做什么? – user1312776

+0

只是将JavaScript代码放在focusout回调中 - '$('#yourid')。focusout(function(){// here});' – ManseUK

+0

实际上,我在focusout回调中使用了JavaScript代码。但我想通过这个值到PHP阵列 – user1312776