Обработка данных формы Ajax в разных div

S3
На сайте с 29.03.2012
Offline
367
2606

На страницу выводится несколько форм в цикле, данные обрабатываются в Ajax.

Как задать для Ajax разные блоки? Подробнее

Форма:

<form method='post'>


<p>
Авто - <input name="extra[car_num]" id="car_num" readonly type=text value="<?php echo $cke;?>"></input>
</p>
<p>
<label> Марка автомобиля - <input name="extra[car_name]" id="car_name" type=text list="mod_type" placeholder="Марка" value="<?php echo $_POST[car][title]?> "></input> </label>

То есть у каждой формы есть свой уникальный id="car_num" от 1 и далее

Обработчик:


$.ajax({
type: "POST",
url: "http://www.rentalcar.by/wp-content/themes/rentalcar/ajax-firm.php",

data:
{
name: $('#firm_name').val(),
........
pid: $('#id_ps').val(),
},
success: function(response){
$('#response1').html(response);
}
});
};

Как сделать чтоб вот этот $('#response1').html(response); менялся в зависимости от номера формы?

То есть $('#response2').html(response); $('#response3').html(response); и так далее.

Соответственно и вывод данных должен выводится в разные div

 <div id="response"></div>

Пытался сделать через переменную PHP - не выходит.

То есть для div:

 <div id="response<? echo $cke?>"></div>

$cke = от единицы и дальше циклом присваеивается, тут все просто и работает. А вот как это же сделать с $('#response1')?

Пытался также - $('#response<? echo $cke?>') - работает, передается единица в конце цикла и соответственно результат выводится только для последней формы.

Как правильно?

siv1987
На сайте с 02.04.2009
Offline
427
#1

$('#response'+counter)

где counter это счетчик

дани мапов
На сайте с 06.09.2012
Offline
204
#2


<form id="form1" method="post">
<input type="text" id="name1" name="value" value="">
<input type="submit" class="update_form" value="Save Changes"> <!-- changed -->
</form>

<form id="form2" method="post">
<input type="text" id="name2" name="value" value="">
<input type="submit" class="update_form" value="Save Changes"> <!-- changed -->
</form>


<div id="response-form1"></div>

<div id="response-form2"></div>


<script>
// this is the class of the submit button
$(".update_form").click(function() { // changed


var id = $(this).parent("form").attr('id');

$.ajax({
type: "POST",
url: "http://www.rentalcar.by/wp-content/themes/rentalcar/ajax-firm.php",

data: $(this).parent().serialize(),

success: function(response)
{
$('#response='+id).html(response);
}
});
return false; // avoid to execute the actual submit of the form.
});
</script>
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
S3
На сайте с 29.03.2012
Offline
367
#3

Спасибо. Оказывается и мой грубый вариант работает, где то ошибка в коде в другом месте.

Потому как при просмотре исходного кода страницы как раз выдается как мне надо.

Но попробую ваши варианты, все таки моя php- вставка - некрасиво))

S
На сайте с 07.05.2012
Offline
58
#4

вот, можете на блоге моем глянуть, есть инфа по ajax, давно когда-то писал

Пополнить PS Plus в РФ - http://carddy.ru

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий