2013-08-21 137 views
-2

我有一个php函数,它只是给出了给定密钥的数组值。将javascript var传递给php

实施例:

<?=__('mykey')?> 

返回我的数组的值。

我想在一个ajax jQuery调用之后用param调用这个函数。 的POST给我一个JSON数组,我需要使用以前本功能是这样

$.ajax({ 
    url: myfile.php', 
    type: 'POST', 
    data: $('#contact_form').serialize(), 
    dataType: 'json', 
}).done(function(data) { 
    str = ''; 
    $.each(data, function(index) { 
     $('#message').html(" <?=__('"+index+"')?> "); 
    }); 
}) 

的问题是,$。每个函数内部的索引值不会传递到PHP ...有一个解决方法或我必须做这样的事情?

$.each(data, function(index) { 
    switch(index):{ 
     case 1: $('#message').html(" <?=__('1')?> "); break; 
     case 2: $('#message').html(" <?=__('2')?> "); break; 
     case 3: $('#message').html(" <?=__('3')?> "); break; 
      ... 
    } 

}); 
+2

我相当肯定的答案可以在这里找到:http://stackoverflow.com/questions/1917576/how-to-pass-javascript-variables-to-php –

+0

p.s.短标签是上面的禁止标签,当您将来升级PHP版本并使用完整标签时,可以节省一些重构时间。 – xXPhenom22Xx

回答

1

我不得不做一些类似的事情,实际上使用jQuery来设置隐藏输入的值,以便我稍后抓取。

$('#some-hidden-input').val(yourvalue) 

确保这个隐藏字段存在并且是在渲染HTML

然后PHP可以简单地抢上张贴的输入值。

$myVar = $_POST['some-hidden-input']; 
+1

你也可以使用$ .data(),这是为了这样的事情。 '$('#message')。data('name',value)'。您可以检索它:'$('#message')。data('name')' – Ringo

1

要通过Javascript将变量传递给PHP,唯一合理的方法是使用AJAX,但只有在发布内容时才能使用。如果不是,最好的方法是有一个hidden input字段。

根据您定义的不同条件,您可以设置隐藏输入字段以携带您要应用它的value

要将值分配给<input name="A" id="B">

$("Input[name='A']").val(data);

$('#B').val(data);

双方将数据的值赋给输入字段