Антон в рубрику JavaScript

Вопрос: Joomla и Mootools

День добрый. Третий день мучаюсь с джумловским mootools. Есть собственно задача: дать пользователю отправлять сообщение на E-Mail с сайта без перезагрузки страницы. Воспользовался для этого стандартным com_contact, добавив в код шаблона отправки формы следующие:

//Активируем mootools
<?php JHTML::_('behavior.mootools'); ?>
//Сам скрипт
<script>
window.addEvent('domready', function() {
	$('emailForm').addEvent('submit', function(e) {
		e = new Event(e).stop();
		this.send();
	});
});
</script>
<form ...> ... </form>


Joomla 1.5.14. Результат нулевой, страница продолжает перегружаться.

Задайте свой вопрос

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

Задать свой вопрос

Расскажите друзьям

Ответы на вопрос — 6

Grin
А если вот так попробовать?
e = new Event(e); 
e.stop();
И вообще, какая там версия Mootools? Я недавно встретил Mootools 1.11 на Joomla.
Так же проверьте, привязывается ли событие к форме (добавьте alert перед остановкой события).
#
Grin
Антон
Вообщем решил проблему переходом на JQuery и отключением встроенного MooTools.

А MooTools на джумле пока только 1.11 официально. В Joomla 1.6 будет 1.2 версия.
#
Антон
aztek
Для встроенных мутулзовских обработчиков событий достаточно писать просто
e.stop()

А для отправки формы без перезагрузки нужно использовать Request.HTML. В вашем коде вы сначала останавливаете событие отправки, а затем всё-равно сами его вызываете.
#
aztek
Grin
просто e.stop() не будет работать в IE, еще нужно e = new Event(e)
#
Grin
Антон
В вашем коде вы сначала останавливаете событие отправки, а затем всё-равно сами его вызываете.

Уже сам это понял. Ради интереса глянул реализацую на MooTools. RequestHTML вроде только в 1.2 MooTools есть.
#
Антон
aztek
просто e.stop() не будет работать в IE, еще нужно e = new Event(e)
Неправда. Посмотри в исходниках класса Event, там этот момент учтён.

new Event(e).stop() имеет смысл использовать, если приходится навешивать событие на элемент не через функции mootools по управлению событиями.

Уже сам это понял. Ради интереса глянул реализацую на MooTools. RequestHTML вроде только в 1.2 MooTools есть.
В 1.11 его аналог — Ajax.Form.
#
aztek

Новый ответ

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler