2013-03-14 3 views
1

Ниже у меня есть функция, которая сохраняет переменную в виде PHP в список объектов в JavaScriptКак передать свой объект Javascript для PHP

a.js

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

    var newItem = 
    { 
     'num' : document.getElementById("num").value, 
     '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)); 
} 

Как я могу отобразить содержимое на моей странице php, чтобы я мог их редактировать? (примеры того, что он будет выглядеть распечатаны ценится)

Edit *

Эти значения, которые будут добавлены к объекту

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

Я только импортируемого a.js и <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

+0

У вас есть лишняя запятая после «комм» –

ответ

0

Вам необходимо отправить данные на сервер с помощью запроса GET или POST, чтобы скрипт PHP на сервере работал с этими данными. Пока это только в JavaScript и localStorage, сервер (и, следовательно, PHP) не знает, что он существует.

+0

любая идея, как захватить значения из списка объектов обратно в PHP? – user2162768

+0

См. Мой ответ: чтобы получить данные из JavaScript в PHP, вам придется отправить его на сервер с помощью GET или POST. – Adrian

1

Вы, кажется, запутываете роли PHP и Javascript.

PHP server-side, что означает, что он отображает страницу (и выполняет любые вычисления, вызовы базы данных и т. Д., Если необходимо), а затем выводит HTML. Это конец участия PHP в веб-странице.

Javascript is клиентская сторона, что означает, что после того, как страница была загружена и отображена в браузере, Javascript может получить доступ к редактируемым элементам страницы, если хотите.

Вы не указали какую-либо информацию о текущей структуре страницы, поэтому мы ничего не можем предложить, чтобы помочь вам изменить содержимое своей страницы с помощью javascript.

0

PSTХода об этом?

При отправке кода вы протираете функцию сохранения.

<form action="" onsubmit="save()" method="post" enctype="multipart/form-data"> 

И вы добавите к вам сформировать тег что-то вроде следующего

<textarea id="SendToPhp" style="display : none"></textarea> 

И в сохранении функции вы добавите это в конце

document.getElementById('SendToPhp').innerHTML = object; 

Или что-то подобное!

Но я это, это то, чего вам не хватает!

добавить следующее в конец вашей формы <input type="submit" value="Send To PHP" /> но держать его внутри <form> тега так поместить его прямо перед </form>

При нажатии на эту кнопку, вы будете отправлять на страницу PHP, которая должна быть в действии ex action = "readjs.php" и на этой странице do print_r($_POST)

Значения, которые вам нужны, будут храниться в POST.

Если вы хотите сделать это без перезагрузки страницы, то вы должны искать более в AJAX

Надеется, что это помогло в любом случае.

EDITED КОД, должны быть $ _POST ранее $ _GET

+0

Спасибо, но мне нужно прочитать AJAX, потому что мне нужно, чтобы это было сделано без перезагрузки. Прости – user2162768

Смежные вопросы