2013-08-21 179 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);

雙方將數據的值賦給輸入字段