Двойной Сабмит Формы Через Аякс

День добрый.

Есть форма, которая отправляется аяксом. Вот собственно код кнопки:




<?php 

        $id='applications-form_submit_' . rand(1, 255);

        echo CHtml::ajaxSubmitButton($model->isNewRecord ? UserModule::t('Create') : UserModule::t('Save'), Yii::app()->request->url, array(

                'type' => 'post',

                'dataType' => 'json',

                'beforeSend'=>'function(){$("body").undelegate("#'.$id.'","click");}',

                'success' =>

                'js:function (e) {

                    clear_errors();

                    if (e.status=="success"){

                       if (e.redirect=="here"){

                         notification(e.message);

                       }   

                       else window.location.replace(e.redirect);

                    } else {

                        $.each(e, function(key, val) {

                             $("#user-form #"+key+"_em_").text(val+" ");

                             $("#user-form #"+key+"_em_").parent(".error_wrapter").addClass("error");

                             $("#user-form #"+key+"_em_").css("display","block");

                             

                        });

                        

                        

                    }

                }',

            ), array(

                'id' => $id,

                

            ));?>



Собственно проблема - идет 2 запроса к контроллеру вместо 1го.

Что пробовал делать:

  1. Добавить форме onsubmit="return false;"

  2. Добавить preventDefault() для предотвращения сабмита.

  3. Изменить action на левый.

Все это не помогло. 2 запроса идет не из за формы а именно из за кнопки.

Что пробовал делать с кнопкой:

  1. Добавить $(‘body’).unbind() в beforeSave и в success.

  2. Добавить undelegate() соответственно туда же.

Ничего не помогает. Собственно всегда так делал формы, и никогда такой проблемы не было. Да и на 1.1.13 такое работает, сейчас же 1.1.14, может проще вернуть старую версию?

CActiveForm используете? Если да, посмотрите что там написано про аякс валидацию. Возможно первый запрос валидация, второй сабмит. Правда не уверен была похожая ситуация правда не помню уже, просто сабмит кнопка была или все же аякс.

Двойной сабмит - это ajax-валидация формы + кривой код в контроллере.

Покопайтесь где-то там.

Решил проблему. Собственно был двойной бинд на сабмит. Всем спасибо.