Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для esculap_ra
462 / 265 / 55
Регистрация: 22.08.2010
Сообщений: 1,204
Записей в блоге: 4

Перехват отправки формы

29.07.2013, 08:39. Показов 1302. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
С Квери я не очень дружу, но в своем компоненте систем приема платежей для Джумлы мне потребовалось сделать такую вещь и на Квери.
Суть в чем: есть код на Доджо (уже апробирован и работает!). При загрузке происходит перехват отправки формы. и потом она пересылается методом Доджо в компонент, откуда получает новую форму, готовую к отправке в систему.
Вот этот код:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script type="text/javascript">
 
  function sendForm(e) {
      <?php if($ifdojo==0){?>
    response = 'response';
    <?  } else {?>
        response = 'response'+e.target.id;
<?}?>
            integration="<?=$integration?>";    
     dojo.stopEvent(e);
     form = dojo.byId(e.target.id);  
         url="<?=JRoute::_('index.php?option=com_paymentplugins&view=donate&task=',false);?>"+e.target.id+integration;
    var xhrArgs = {
        form: form,
        url:url,
        handleAs: "text",
        load: function(data){
          dojo.byId(response).innerHTML = data;
                                      },
        error: function(error){
          dojo.byId(response).innerHTML = "<?=JText::_('FORM_POSTED_ERR')?>";
                                        }
                         }
      dojo.byId(response).innerHTML = "<?=JText::_('FORM_BEING_SENT')?>";
      var deferred = dojo.xhrPost(xhrArgs);
                                          }
</script>
Инициализаия захвата происходит тут:
JavaScript
1
2
3
<script  type="text/javascript"> 
dojo.connect(dojo.byId('<?=$plugin->target?>_pay'), "onsubmit", sendForm)
</script>
Как это сделать методами Квери?
Компонент уже проверялся в тесте с Вэбмоней, и другие системы включить не проблема. Легко интегрировать в любые компоненты, предусматривающие пополнение платежного баланса, или же принимать пожертвования. Но пока, если подключена библиотека Доджо. Просто на Джумле кроме меня никто не использует Доджо, а я могу компонент выложить в бесплатной версии.

Подскажете вариант реализации?

Добавлено через 12 часов 17 минут
Мне так никто и не ответил, пришлось придумать самостоятельно.
Перехват события методом jQuery делается так:
JavaScript
1
$('#<?=$plugin->target?>_pay').live("click",sendQForm);
Ну а исполняемая функция имеет такой код:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    function sendQForm(e) {
        e.preventDefault();
        var response = $("#response");
        response.show();
        var integration="<?=$integration?>";
        var vars=$(this).serialize();
        var furl = url="<?=JRoute::_('index.php?option=com_paymentplugins&view=donate&task=',false);?>"+$(this).attr('id')+integration;
        $.ajax({
        url:furl,
        data:vars,
        success:function(data){
            all_hide();
        response.html(data);
        },
        error: function(error){
          response.html("Form posted error.");
        }
        });
        response.html("Form being sent...");        
        }
Как оказалось, все также просто, как и в Доджо. По мере необходимости и с Квери придется подружиться.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.07.2013, 08:39
Ответы с готовыми решениями:

Перехват отправки данных формы
Здравствуйте! как можно проверить данные формы после как пользователь нажал submit. При этом, если что-то не заполнено то отправка не...

Вывод модальной формы после отправки формы AJAX
Здравствуйте, помогите, пожалуйста, разобраться, есть модальная форма arcticmodal для просмотра этой формы можно найти её в поисковике, она...

Не работает JQ после отправки формы
Доброго времени суток! Я начинаю осваивать JQ и появилась такая проблема - у меня есть страница(site/kabi), а на странице форма. Когда я...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.07.2013, 08:39
Помогаю со студенческими работами здесь

Защита от повторной отправки формы
Привет. Есть форма, пусть для примера это будет форма отправки комментариев. С помощью плагина jquery.form.js форма отправляется на...

Отмена отправки формы на сервер
Добрый вечер всем. Есть задача отправить AJAX'ом файл на сервер и обработать его php скриптом. Дело в том, что это должно происходить по...

Очистка формы после отправки
Всем привет. Есть сайт на нем есть несколько форм для отправки заказа. Если, например нажать на кнопку в шапке &quot;заказать звонок&quot;,...

Автоматизация отправки формы
Есть сайт (чужой) с формой отправки данных. Я захожу на сайт, открываю консоль и пишу ...

кнопка отправки формы
есть такая кнопочка: &lt;a href=&quot;#&quot; style=&quot;background-image:url(pics/btn.gif); width: 56px; height: 21px;&quot; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru