jQuery: Colorbox + Form - Доступ к опубликованным данным + несколько разных вопросов - PullRequest
0 голосов
/ 11 декабря 2010

Моя цель - отправить форму в Colorbox через модал через ajax (эта часть завершена), а затем взять одно из представленных значений (называемое «процент») и обновить значение в таблице.,

У меня есть мой код ниже (без формы).Вы можете видеть, что ссылка открывается с Div, содержащим мою форму (#Form_PlayerSave), и эта форма ajaxified через удивительный jQuery Form Plugin .Форма отправляется правильно, теперь я просто хочу обновить процентную часть таблицы.

В скрипт включен php, потому что мне нужно 25 форм на страницу (по одной на каждую строку таблицы), поэтому каждый $ x просто отсчитывает разные формы.

Итак, чтомне делать?То, что у меня есть ниже, возвращает undefined, и я попробовал довольно много разных решений.

Я также заметил, что при повторном нажатии на ссылку в таблице, чтобы открыть модальный Colorbox, она отображает страницу,форма обычно подчинялась бы, если бы не прошла вся ajaxy.Любые идеи о том, как это исправить, чтобы пользователь мог обновить значение для своего маленького сердца?

$(document).ready(function(){

   function prepform(){



       $('#Form_PlayerSave<?= $x ?>').ajaxForm({
           // target identifies the element(s) to update with the server response
           target: '#customPlanDiv<?= $x; ?>',

           // success identifies the function to invoke when the server response
           // has been received; here we apply a fade-in effect to the new content
           success: function() {
                 $.fn.colorbox({html:"Custom Plan Saved", open:true});
                 var x = $('#Form_PlayerSave<?= $x ?> :percentage').fieldValue();
                 $('#custom_plan_text<?= $x ?>').val(x[0]);
           }

       });
   }

   $(".customPlan<?= $x; ?>").colorbox({inline:true, href:"#customPlanDiv<?= $x; ?>"}, prepform);

});

Я действительно ценю помощь всех!Спасибо * 10!

1 Ответ

0 голосов
/ 12 декабря 2010

Я понял!

  $(document).ready(function(){

               function prepform(){

                    $('#Form_PlayerSave<?= $x ?>').ajaxForm({
                               // target identifies the element(s) to update with the server response

                               beforeSubmit:  CPshowRequest<?= $x ?>,
                               // success identifies the function to invoke when the server response
                               // has been received; here we apply a fade-in effect to the new content
                               success: CPshowResponse<?= $x ?>,
                               resetForm: true

                   });

               }

               $(".customPlan<?= $x; ?>").colorbox({inline:true, href:"#customPlanDiv<?= $x; ?>"}, prepform);

         });

            // pre-submit callback
            function CPshowRequest<?= $x ?>(formData, jqForm) {
                var x = $('#percentage<?= $x ?>').fieldValue();
                $('#custom_plan_text<?= $x ?>').html(x[0]);
                return true;
            }
            function CPshowResponse<?= $x ?>(responseText, statusText, xhr, $form)  {
                $.fn.colorbox({html:"Custom Plan Saved", open:true});
            }

Почему это работает, меня это побеждает, но это так.:)

Кроме того, для будущих наблюдателей, чтобы убедиться, что div не заменяется при отправке, просто убедитесь, что цель не указывает на div вашей исходной формы (тупой тупой с моей стороны).

...