Построение $.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, время: 16:51. |