Mootools 1.11 и 1.2.4 конфликтуют, Ajax.Form - PullRequest
0 голосов
/ 23 февраля 2011

Я пытаюсь использовать Mootools Ajax.Form и смог сделать успешную тестовую установку с помощью этого: http://demos111.mootools.net/Ajax.Form

ТОЛЬКО если я понизил свой скрипт mootools до 1.11. Для остальных вещей на моем сайте я использую 1.2.4.

Я предполагаю, что происходит проблема конфликта ... но не был уверен, как это исправить? Я попытался найти Ajax.Form, чтобы выяснить, есть ли у кого-то еще эта проблема, но до сих пор не удалось.

Любая помощь будет высоко ценится. Спасибо!

Ответы [ 2 ]

1 голос
/ 25 февраля 2011

Разница в том, что ярлык Element.send изменил свою подпись между 1.11 и 1.2.x
Новая подпись больше не принимает параметры запроса как часть метода .send, принимается только URL (чтобы разрешить переопределение URL для GET / POST для каждого запроса).

С новым API вы должны использовать метод set в элементе формы, чтобы установить параметры send, например:

document.id('myForm').set({
  send: {
    onRequest: function() { /* do something here */ },
    onComplete: function() { /* do something else */ }
  }
});

Вы можете увидеть полный пример использования метода Element.send на следующей скрипте: http://jsfiddle.net/S3H4G/2/

Вы можете обратиться к официальным документам , чтобы увидеть текущую подпись Element.send, и к Запросить документацию по объекту , чтобы увидеть все доступные опции, которые вы можете передать в set метод. Обратите внимание, что в случае форм параметры url, method и data по умолчанию соответствуют тому, что элемент формы в настоящее время установил в HTML.

0 голосов
/ 23 февраля 2011

К сожалению, более новые версии Mootools не имеют обратной совместимости. Но обычно довольно просто обновить старые плагины. Если этот Ajax.Form довольно прост, это может быть просто вопросом переназначения метода $.

Ознакомьтесь с разделом Плагины этой статьи для получения справки:

http://mootools.net/blog/2009/06/22/the-dollar-safe-mode/

...