我在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
(,这至少应该为您提供一些有关卡住位置的指示。