2017-02-17 3 views
0

javascriptでphpコードを作成し、phpページで実行するときに実行する方法はありますか?入力の値をに設定しようとしていますが、div_idはjs変数で、入力は2次元の連想配列です。

問題は、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> 

私はJavaScriptで動的に一部のHTML入力を作成していますが、私はページを更新する場合はクリア取得からそれらを防ぐための方法を探しています。おそらく入力をそこにとどめる簡単な方法がありますか?

私の考えは、各input要素のonblurイベントからphpコードを実行することでした。これは、input [] []配列をセッションに保存するので、ページを更新するときに失われることはありません。

+0

PHPが最初に実行され、その後にjsが実行されます。あなたのコードに問題が発生している 'div_id'が必要です – C2486

+0

javascriptでセッションを印刷できませんこれをチェックしてください[http://stackoverflow.com/questions/3362417/is-it-possible-to-read-a-php-セッションを使用する - javascript] – Nawin

+0

PHPにjavascript変数を使用することはできません –

答えて

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の値は実際の配列ではなく、単に "配列"になります。入力は2D連想配列です。だから私はセッションからjs配列にコピーする方法を見つける必要があります – ioan

+0

おそらく私は、入力配列をクッキーまたはsessionstorageに保存することができます。しかし、私は各入力のonblurイベントに何を入れるべきか分かりません – ioan

関連する問題