2010-07-15 2 views
3

У меня есть пользовательский модуль, в котором я отправляю форму с помощью drupal submit. т.е. используя функцию mymodule_submit(). Я хочу ajaxify это отправить с помощью jquery. что все предпосылки для ajaxifying в drupal? как вернуть значения и все? кто-нибудь пожалуйста, помогите. спасибо заранееКак сделать форму drupal submit с помощью ajax?

+0

Не можете поверить, что вы не получили ни одного достойного ответа на это - какие-либо обновления на вашем конце? – Yarin

ответ

1

несколько концепций высокого уровня являются важными:

  • сделать это корыто формы апи. технически вы можете обойти это и написать свои собственные теги форм (в простом HTML), но это приносит больше проблем, чем их ценность.
  • изменения поведения в любой форме, делаются так называемым hook_form_alter()
  • Изменения внешнего and feel любой формы делается в theme layer
  • Затем вы можете добавить ajaxified поведения к теме с использованием AHAH. Обратите внимание, что в Drupal AHAH немного неверно названо: это только конкретное подмножество и работает только для форм.
+1

Не использовать API формы и генерировать HTML считается проблемой безопасности. – kiamlaluno

+0

Вопрос в том, как подать заявку на оформление формы, вы говорите о создании формы. – Yarin

1

Есть 2 способа:

  1. Если вам не нужно, чтобы захватить ответ представить: Создать скрытый IFRAME, и изменить «целевой» атрибут формы имени IFrame. Это можно сделать в 2 строках javascript, после рендеринга формы.

  2. Если вам нужно захватить ответ: Используйте плагин формы JQuery, поэтому после отправки вам необходимо передать функцию обратного вызова, передав ему ответ в качестве аргумента.