2017-02-17 95 views
0

有沒有辦法讓javascript創建php代碼,在php頁面上運行時執行?我試圖設置一個輸入的值,其中div_id是一個js變量,輸入是一個2D關聯數組。

問題是它將字面值設置爲「」而不是floor_type字段的值。其他一切似乎都有效。

inputs_div.innerHTML += `<div id="`+div_id+`" class="dynamic_div"> 
         <ul class="dynamic_ul"> 
         <li><input type="text" onblur="$('.save').click();" placeholder="Flooring Type: Wood Floor, Tile, etc." name="inputs[`+div_id+`][floor_type]" maxlength="255" value="<?php echo $_SESSION['inputs']['`+div_id+`']['floor_type']; ?>"></li> 
         </ul> 
         </div> 

我動態創建一些HTML投入使用javascript,但我正在尋找一種方式,以防止他們得到清除,如果刷新頁面。也許有一種更簡單的方法來使輸入保持在那裏?

我的想法是使用ajax從每個輸入元素的onblur事件運行一些php代碼,這會將輸入[] []數組保存到會話中,因此刷新頁面時不會丟失。

+0

PHP執行第一個和js之後。在你的代碼php需要'div_id'這是造成問題 – C2486

+0

你不能在javascript中打印會話選中此項[http://stackoverflow.com/questions/3362417/is-it-possible-to-read-a-php- session-using-javascript] – Nawin

+0

你不能使用JavaScript變量進入php –

回答

1

使用隱藏字段來存儲$ _SESSION []值,然後在文檔上準備好獲取隱藏字段的值並設置爲javascript變量。

<input type="hidden" id="hdn" value="<? php echo $_SESSION['inputs'] ?>" /> 


$(document).ready(function() 
{ var session_value = $('#hdn').attr('value'); // now use session_value variable when set the innerhtml of inputs_div }); 
+0

我會試試:) – ioan

+0

hmm,hdn的值最終只是「數組」,而不是實際的數組。輸入是一個2D關聯數組。所以我需要找到一種方法將它從會話中複製到js數組 – ioan

+0

也許我可以將輸入數組保存到cookie或sessionstorage中。但是,我不確定要將什麼放入每個輸入的onblur事件 – ioan