только почему 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, время: 19:17. |