Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.12.2011, 16:52
Интересующийся
Отправить личное сообщение для dsnj Посмотреть профиль Найти все сообщения от dsnj
 
Регистрация: 26.11.2011
Сообщений: 27

$.post и передача массивов
Есть страничка:
- с тестовым полем для ввода вопроса;
- кнопкой "добавить ответ";
- кнопкой "Сохранить вопрос".
(обработка нажатий реализовано на jquery)

по нажатии на кнопку "добавить ответ":
* открывается тестовое поле для ввода ответа
* инкрементирование счётчика числа ответов
* запись id поля ответа

var count = 0;
var mas_ans = [];
$('#add_answer').click(function()
{
    count++;
    $('#content').append('<p><input type="text" id="answer_"+count/></p>');
    mas_ans[count] = "answer_"+count;
})



По нажатии на кнопку "сохранить вопрос" необходимо
отправить МАССИВ ответов с идентификаторами их полей на PHP контроллер!!!

$.post( url,
          {
              test_id   : data.test_id,
              ques_body : $('#ques_body').val(),
              'mas[]'   : mas_ans,
              count     : count
          },      
          function(data)
          {
              
          },
          "json");



1. ПРАВИЛЬНО ЛИ РЕАЛИЗОВАНА ОТПРАВКА МАССИВА НА СЕРВЕР???
2. КАК НА PHP получить элементы переданного из jquery массива mas_ans???

Последний раз редактировалось dsnj, 10.12.2011 в 17:52.
Ответить с цитированием
  #2 (permalink)  
Старый 10.12.2011, 19:49
Интересующийся
Отправить личное сообщение для dsnj Посмотреть профиль Найти все сообщения от dsnj
 
Регистрация: 26.11.2011
Сообщений: 27

НЕУЖЕЛИ ТАКОЙ СЛОЖНЫЙ ВОПРОС??? Может вообще иначе решить задачу??? Предлагайте - обсудим!!
Ответить с цитированием
  #3 (permalink)  
Старый 10.12.2011, 20:46
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

var post = {};
for(var i = 0; i< mas_ans.length; i++ ) {
    post[ 'mas[' + i + ']' ] = mas_ans[ i ];
}
Вот объект post и пихай на отправку.
Ответить с цитированием
  #4 (permalink)  
Старый 10.12.2011, 21:49
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

dsnj,
можно этот массив преобразовать в строку например так:
var ma = mas_ans.join('|');

а на сервере (если php), эту строку при необходимости снова преобразовать в массив
$mas_ans = explode('|', $_POST['ma']);
Ответить с цитированием
  #5 (permalink)  
Старый 11.12.2011, 00:21
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от nekto_O Посмотреть сообщение
dsnj,
можно этот массив преобразовать в строку например так:
var ma = mas_ans.join('|');

а на сервере (если php), эту строку при необходимости снова преобразовать в массив
$mas_ans = explode('|', $_POST['ma']);
а если в массиве встретится этот символ, не закодированный через html ?
Ответить с цитированием
  #6 (permalink)  
Старый 11.12.2011, 10:48
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от melky
а если в массиве встретится этот символ, не закодированный через html ?
я лишь пример привел, можно другой символ использовать, а регулярные выражения для проверки на наличие символов никто не отменял...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемы с $.post grafe jQuery 2 03.12.2011 16:32
$.post + много масивов korner jQuery 13 20.09.2011 18:33
Как ограничить количество элементов (списков <li>) массивов Naum Элементы интерфейса 2 04.04.2011 11:56
$.post и удалённый сервер ppp AJAX и COMET 3 18.03.2010 01:15
$.post - ошибка синтаксиса SpartakuS jQuery 5 21.07.2009 15:52