防止Joomla重新加载页面

时间:2018-04-06 08:56:08

标签: javascript html joomla

我在joomla文章中使用javascript时遇到问题。单击提交按钮时,将重新加载整个页面,而不是正在执行的java脚本。代码在joomla模板的index.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>
&#13;
&#13;
&#13;

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>

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

它看起来很好,尝试调试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)这至少应该给你一些关于卡住位置的指示。