2013-03-14 4 views
-1

현재 PHP 페이지에서 데이터를 저장하는 버튼을 클릭하면 JavaScript가 실행됩니다.

a.js 다음 PHP 페이지에서

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) { 

}); 

은 내 양식은 다음과 같습니다

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":""}}] 

로컬 저장소의 결과 - 클릭 전과 후에 - 하나씩 클릭됩니다 (버튼을 클릭 할 때마다 추가됨). 이 정보를 얻고 PHP 페이지에 표시하려면 어떻게합니까?

+0

http://php.net/manual/en/function.json-decode.php – vodich

+0

PHP 파일 또는 js 파일에서 어디에서이 문제가 발생합니까? – user2162768

+0

도메인을 보셨습니까? 이 함수는 json 문자열을 php 객체 또는 배열로 변환합니다. – vodich

답변

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); 
}); 

바라건대 이것이 당신이 원하는 것입니다.

+0

안녕하세요, David, 답장을 보내 주셔서 감사합니다. 내가 가진 문제는이 데이터가 PHP에 나타나기 때문에 데이터베이스에 연결하고 데이터베이스를 업데이트 할 수 있습니다. 응답에서 PHP 함수를 사용할 수 있습니까? – user2162768

+0

언제든지. 'edit.php'는 폼을 표시하는 파일입니까, 아니면 폼을 처리 할 파일입니까? '$ .post()'함수에 넣은 파일은 위에 링크 된 링크처럼 설정해야합니다.'form-process.php' 또는 무엇인가를 만들어야합니다. 이 응답을 통해 jQuery'$ .post()'함수에서 지정한 파일을 호출 할 때 반환되는 데이터에 액세스 할 수 있습니다. – David

관련 문제