только почему get если передается $.post?
уважаемый korner, у вас скрипт заработал... если можно первые строки php |
или post, какая разница
*надо было написать request |
с Request получается, но это надо прописывать 50-60 Requestov для каждого из полей формы...
ну может я и правда тупой, но сколько форумов и документации не прочитайл, я так и не понял... 1) var fields = .. serialize (или serializeArray) (); (упаковываем пары значений поле - значение) 2) $.post (обработчик, fields, function (data) ... передаем эти значения в обработчик 3) как распаковать эти данные? был бы признателен, если у кого есть под рукой ссылка на пример... причем распаковать "автоматом"... чтоб получить в переменную с именем поля значения - без многочисленных $id = $_POST['id']; $nomer = $_POST ['nomer'] у меня в форме может быть до 60 заполненных полей |
Да, понимаю, я тоже раньше думал как это сделать.
Мне нужно было сохранять настройки движка, там тоже было от 1 поля до бесконечности. Есть два варианта сбора данных. Первый самый простой, это сделать функцией extract($_POST); Она переводит все что было передано через пост запрос в переменные с названием. То есть если у вас на станицы пишется на подобие так. <input type="text" name="id" /> <input type="text" name="nomer" /> То в php функция extract($_POST) вернет в переменные и обратится можно будет к ним так: extract($_POST); print $id; //input name="id" print $nomer;//nput name="nomer" Есть второй способ пожалуй самый разумный. Это собирать данный всего с одним массивом. На станицы должно быть написано так: <input type="text" name="save[id]" /> <input type="text" name="save[nomer]" /> Как видно в name я добавил в массив save. В php мы получим только одну переменную $_POST['save'], к которому можно обратится так; $save = $_POST['save']; print $save['id']; //input name="save[id]" print $save['nomer'];//nput name="save[nomer]" Вроде объяснил но на всякий дам пример. Код HTML index.html;
<script>
function get_post_go(){
var fields = $('input').serializeArray();
$.post('save.php?action=update', fields, function(data){
alert(data.id); // id
alert(data.nomer); // nomer
},'json');
}
</script>
<input type="text" name="save[id]" />
<input type="text" name="save[nomer]" />
<input type="submit" value="Отправить" onclick="get_post_go()" />
Код PHP save.php;
<?php
$save = $_POST['save']; // Получаем результат также можно обработать циклом foreach
//Обробатываем данные
//$save['id'] //массив id
//$save['nomer'] //массив nomer
//Выводим результат в формате json
echo json_encode(array("id"=>$save['id'],"nomer"=>$save['nomer']));
?>
|
| Часовой пояс GMT +3, время: 21:54. |