-1

データを保存する PHP ページのボタンをクリックした後、現在 JavaScript を実行しています。

a.js:

function save(){

var oldItems = JSON.parse(localStorage.getItem('itemsArray')) || [];

var newItem = {};
var num = document.getElementById("num").value;

newItem[num] = {
    "methv": document.getElementById("methv").value
    ,'q1': document.getElementById("q1").value,
    'q2':document.getElementById("q2").value,
    'q3':document.getElementById("q3").value,
    'q4':document.getElementById("q4").value,
    'comm':document.getElementById("comm").value
};

oldItems.push(newItem);

localStorage.setItem('itemsArray', JSON.stringify(oldItems));

$.post('edit.php', { items: JSON.stringify(oldItems) }, function(response) {

});

PHP ページでは、私のフォームは次のようになります。

edit.php

<form action="" method="post" enctype="multipart/form-data">

  <select name="methv" class="textfields" id="methv" style="width:110px" > 
    <option value= "dont know">dont know </option>

<select name="q1" class="textfields" id="q1" style="width:50px" > 
<option value= "-">-</option>
<option value= "L">L</option>

<select name="q2" class="textfields" id="q2" style="width:50px" > 
<option value= "-">-</option>
<option value= "L">L</option>

<select name="q3" class="textfields" id="q3" style="width:50px" > 
<option value= "-">-</option>
<option value= "L">L</option>

<select name="q4" class="textfields" id="q4" style="width:50px" > 
<option value= "-">-</option>
<option value= "L">L</option>

<textarea rows="4" cols="40" id="comm" name="comm" style="width:300px"><?php echo $post['addcomment'] ;?></textarea> 

</form>

PHP ページを実行してボタンをクリックすると、コンソールに次のような投稿が表示されます。

[{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}}]

これらは、ローカル ストレージからの結果です。1 つはクリックされる前、もう 1 つはクリックされた後です (ボタンがクリックされるたびに追加されます)。この情報を取得して PHP ページに表示するにはどうすればよいですか?

4

1 に答える 1

0

POSTリクエストを処理するためのedit.phpファイルはすでにありますか?そうでない場合は、このリンクが役立つ場合があります。http://edwin.baculsoft.com/2011/12/how-to-handle-json-post-request-using-php/

edit.phpがリクエストを処理してデータを返すように設定されたら、おそらくレスポンス関数内でそのデータを操作する必要があります。

$.post('edit.php', { items: JSON.stringify(oldItems) }, function(data) {
    // Do something here, for example...
    alert(data);
});

うまくいけば、これはあなたが探しているものです。

于 2013-03-16T05:25:06.527 に答える