2017-02-17 32 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