Построение $.post через each
О великие гуру JS и JQuery взываю к вам:help:
Третьи сутки не могу въехать как правильно сделать.....((((((((((( Смысл в том, что нужно при передаче по onsubmit у form передать методом $.post значения. У form все input'ы пронумерованы по name, но количество их изначально не известно и может меняться со временем, поэтому их именно "надергать" надо в post-запрос. Есть рабочий код: <form action="javascript:this.form.action = actform;" onsubmit=" actform= $.post( \"http://mysite.ru/index.php?id=61\", { id: $(\"input[name='id']\").val(), product: $(\"input[name='product']\").val(), price: $(\"input[name='price']\").val(), sum: $(\"input[name='sum']\").val(), number: $(\"input[name='number']\").val(), }, function(data) { $.colorbox({html: data}); } );"> Код умеет передавать значение одной "строки" формы (со значениями без индексов) во всплывающее окно Colorbox'а. Задача стоит следующая, нужно реализовать что-то типа этого: <form action="javascript:this.form.action = actform;" onsubmit=" $.post( \"http://mysite.ru/index.php?id=61\", { <!-- Тут какой-то условный цикл, который переберет значения от 1 до n --> id[n]: $(\"input[name='id[n]']\").val(), product[n]: $(\"input[name='product[n]']\").val(), price[n]: $(\"input[name='price[n]']\").val(), sum[n]: $(\"input[name='sum[n]']\").val(), number[n]: $(\"input[name='number[n]']\").val(), <!-- конец цикла --> }, function(data) { $.colorbox({html: data}); } );"> Количество n могу получить, а вот перебрать от 1 до этого значения (чтобы получались данные наподобие sum3, price1, number5 и т.д.) не хватает ума:blink: Уже все перекопал, гугл дымится от моих запросов, не могу синтаксис понять какой сюда нужен и все тут:cray: У кого хоть какие-нибудь идеи есть, помогайте пожалуйста( |
<form action="javascript:this.form.action = actform;" id="myForm"> <input type="text" name="id[]"> <input type="text" name="product[]"> <input type="text" name="price[]"> .... </form> $(form).ajaxSubmit({ success : function(data) { alert(data) } }); ну как то так вроде |
Не совсем понятно... точнее совсем непонятно...
А на что обработчик вешать? Это по онклику или по онсабмину должно выполняться? И самое главное непонятно как с этой конструкцией должен colorbox открыться? p.s. у меня передача данных идет из всплывающего окна (точнее блока) colorbox на страницу, которая должна открыться в нем же. Здесь собственно и вся загвоздка иначе давно бы уже все и куда надо смог передать((( |
Вот образец с выносом мозга, объединяет перед отправкой данные с двух форм.
var datas1 = {}, datas2 = {} $.map($('#zak').serializeArray(), function(n, i){ datas1[n['name']] = n['value']; }); $.map($('#rasform').serializeArray(), function(n, i){ datas2[i] = n['value']; }); $.extend(datas1, datas2); $.ajax({ url: 'ajax/sendEmail.php', data: datas1, type: 'post', beforeSend:function(){ $('#bottons2').html('...Идет подготовка к отправке'); }, success: function(msg){ $('#bottons2').html(msg); } }); |
ОлегА, Разобрался с вашим методом!))))))) Огромное преогромное спасибище:dance:
Чтож вы то сразу не сказали только что надо сначала библиотеку jquery.form.js подгрузить, 4 часа убил чтоб разобраться, потом только понял что еще и файлик нужен)))))))):D |
Serg_pnz,
Интересно тоже, попробую и так обязательно)))))))) Там тоже библиотеку надо какую-нибудь качать?;) :p |
нет
|
nevolov, ах да, забыл, что это плагин,ну главное разобрались!
|
Часовой пояс GMT +3, время: 21:17. |