Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Отправка нескольких форм с помощью ajax (https://javascript.ru/forum/jquery/21889-otpravka-neskolkikh-form-s-pomoshhyu-ajax.html)

voloxa89 28.09.2011 16:10

Отправка нескольких форм с помощью ajax
 
Есть несколько одинаковых форм, выводятся динамически с одинаковыми идентификаторами.
<div id="imeg_galeri2" >
    <div id="img1">
  	<img id="img10" class="polaroid2" src="img/222222.jpg" /><!--Картинка по которой производится клик-->
                <form method="GET" action="dobavit.php" id="post_golos">
                <input id = "id_reiting" name="id_reiting" type="hidden" value="7" />
                <input id = "coll_goll" name="coll_goll" type="hidden" value="5" />
               <input name="reit" type="submit" id="send" value="Отправить"/>
               </form>
</div>
      <img src="img/lapki.png" class="polaroid3" /><!--количество голосов-->
        <span  id="coll">	5 </span>
        <div id="golos">
       </div>
</div>

При клике на картинку форма должна оправляться. Я сделал скрипт
при клике на картинку форма отправляется. Если я кликаю на вторую картинку форма отправляется а значения приписываются к первой картинке.
в поле формы
<input id = "id_reiting" name="id_reiting" type="hidden" value="7" />
значение равно id картинке
$(document).ready(function()
{

$("#imeg_galeri2 img").click(function(i)
    {			
       var id = $("#id_reiting").val();
        var coll = $("#coll_goll").val(); 
		
        $.ajax({
             type: "POST",
             url: "dobavit.php",
             data: ({id_reiting : id, coll_goll : coll }),
             cache: false,
             success: function(response)
                {
                    alert('Ваш голос принят');
                }
        })  ;
        return false;
       
    })  ;

Как в ajax прописать чтобы он отправлял форму той картинки по которой я кликая? форму можно выбрать так $(this).next - это будет форма которая следует после картинки но как добавить ее в ajax я не знаю?

DjDiablo 28.09.2011 18:44

Я вообще немогу понять накой тебе здесь форма.
Если я правильно понимаю то форма у тебя роль хранилища данных играет или что-то в этом духе, ибо там одни скрытые поля
А почему бы нехранить тогда инфу в атрибутах.
ну нужет id картинки, дак получи как attr("id").
ну нужно хранить ещё какуюто инфу гдето, храни её также в атрибутах. <img id="dsf" golosa="12" src="/dfsf.jpg"> получи через attr("golosa") записать новое значение в атрибут attr("golosa","23")

А так как ты предлагаешь. тогда
$("#imeg_galeri2 img").click(function(i){
 var id = this.parent().find("#id_reiting").val();// доступ к значению в форме, рядом с картинкой по которой щёлкнули.
 .......
});

Тоесть, у тебя есть div который содержит и форму и изображения, соответственно логично искать форму в родителе картинки.

voloxa89 28.09.2011 22:08

Я сделал, спасибо DjDiablo держи + :dance:
Действительно а я даже не подумал что можно хранить данные в img, нагородил ерунды с формами.
Вариант работает и с формой и без.


Часовой пояс GMT +3, время: 10:55.