防止 Joomla 重新加载页面



我在joomla文章中使用javascript时遇到了问题。单击提交按钮后,将重新加载整个页面,而不是正在执行的 java 脚本。代码在 joomla 模板的索引.php文件中加载时有效,但由于某种原因从单个文章加载时

不起作用

<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>

谁能帮助我哪里出了问题?

如果手动将代码添加到 PHP 文件时有效,但在放置在文章中时无效,那么您的编辑器可能正在删除或更改代码。检查编辑器设置中是否有"允许 JS"之类的内容(此设置的位置取决于您的编辑器(。或者,尝试将编辑器设置为"无",看看是否有效。

看起来

不错,尝试调试ready((调用,通过在代码放置一个alert()调用(或更好的console.log()(,并可能将ready事件替换为jQuery的:

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

然后打开控制台以查看日志(密钥F12(,这至少应该为您提供一些有关卡住位置的指示。

最新更新