Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить submit только нужной формы (https://javascript.ru/forum/misc/31107-kak-poluchit-submit-tolko-nuzhnojj-formy.html)

alexaled 27.08.2012 10:54

Как получить submit только нужной формы
 
Добрый день!
Подскажите пожалуйста как мне получить событие сабмита только текущей формы, дело в том что при первой отправке форма отправляет 1 аякс запрос, при втором нажатии на отправляется 2 аякс запроса и добавляется 2 комментария, помогите пожалуйста получить только текущую форму

var copyFormAnswer = undefined;

        jQuery('.answer').live('click', function(){
            var formAnswer = jQuery('.aform');
            var attrParentId = jQuery(this).attr('id');
            copyFormAnswer = formAnswer.clone(true);
            formAnswer.find('#id_parent_id').val(attrParentId);
            formAnswer.find('#id_message').val('');
            jQuery(this).after(copyFormAnswer);
            counter = 0;
        });

        jQuery('.aform').submit(function() {
              var sendData = $(this).serialize();
              jQuery.ajax({
                    data: sendData,
                    type: $(this).attr('method'),
                    url: $(this).attr('action'),
                    success: function(response){
                            if (copyFormAnswer==undefined){
                                copyFormAnswer = jQuery('.aform');
                            }
                            alert(response["data"]["html"]);
                            copyFormAnswer.before(response["data"]["html"]);
                            copyFormAnswer.hide();
                            copyFormAnswer = undefined;
                          }
                });
                return false;
            });
        });

Deff 27.08.2012 12:17

:) не наю - может так ?
var copyFormAnswer = undefined;
function setClick (){
        jQuery('.answer').one('click', function(){
            var formAnswer = jQuery('.aform');
            var attrParentId = jQuery(this).attr('id');
            copyFormAnswer = formAnswer.clone(true);
            formAnswer.find('#id_parent_id').val(attrParentId);
            formAnswer.find('#id_message').val('');
            jQuery(this).after(copyFormAnswer);
            counter = 0;
        });
}setClick ();

        jQuery('.aform').submit(function() {
              var sendData = $(this).serialize();
              jQuery.ajax({
                    data: sendData,
                    type: $(this).attr('method'),
                    url: $(this).attr('action'),
                    success: function(response){
                            if (copyFormAnswer==undefined){
                                copyFormAnswer = jQuery('.aform');
                            }
                            alert(response["data"]["html"]);
                            copyFormAnswer.before(response["data"]["html"]);
                            copyFormAnswer.hide();
                            setClick ()
                            copyFormAnswer = undefined;
                          }
                });
                return false;
            });
        });


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