Запретить Joomla перезагрузить страницу

У меня проблема с использованием javascript в статье joomla. При нажатии кнопки отправки перезагружается вся страница, а не выполняется java-скрипт. Код работал при загрузке в файл index.php шаблона joomla, но не работает при загрузке из одной статьи по какой-то причине

<div class = "top"><form>
<p style = "text-align: right;"><label for = "power">Power <input id = "power" type = "number" name = "power" /> mW</label></p>
<p style = "text-align: right;"><input class = "submit" type = "submit" value = "Calculate" /></p>
</form></div>

Сценарий java

<script type = "text/javascript">

/*jslint node: true */
/*global $, jQuery, alert*/
"use strict";
var $jQ = jQuery.noConflict();
alert(location.hostname);
jQuery(document).ready(function () {
    $jQ("form").submit(function (event) {
        alert("Calculate");
        event.preventDefault();
    });
});
</script>

Может ли кто-нибудь помочь мне, где это не так?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
132
2

Ответы 2

Если это работает, когда вы добавляете код вручную в файл PHP, но не при размещении в статье, то ваш редактор, вероятно, удаляет или изменяет код. Проверьте настройки вашего редактора на что-то вроде «Разрешить JS» (где этот параметр зависит от вашего редактора). Или попробуйте установить для редактора значение «none» и посмотрите, работает ли это.

Первое предупреждение (location.hostname); срабатывает при загрузке страницы, и код сценария присутствует в исходном коде реальной веб-страницы, когда я ее проверяю.

Whitecold 06.04.2018 14:10

выглядит нормально, попробуйте отладить вызов ready (), поместив вызов alert() (или лучше console.info()) внутри в код и, возможно, заменив событие готовности на jQuery:

<script type = "text/javascript">
"use strict";
console.info("script is running");
jQuery(function () {
    console.info("hooking into submit");
    jQuery("form").submit(function (event) {
        event.preventDefault();
        console.info("alternate submit");
    });
});
</script>

Затем откройте консоль, чтобы увидеть журналы (ключ F12), это должно, по крайней мере, дать вам несколько указателей на то, где он застревает.

Другие вопросы по теме