Joomla文章或模块中的Javascript未执行
我想使用一段JavaScript来过滤表格。我测试了没有CMS的代码,它的工作完美。但是,当我将它移动到Joomla te时,Javascript无法识别/执行。我想有些东西是阻塞或冲突的。Joomla文章或模块中的Javascript未执行
我试着用Sourcerer添加代码,并将它添加到Flexi代码的模块中。但是,没有效果。我在Stackoverflow上阅读了一些关于此的其他文章,但这不是相关的或没有解决方案。
这不是一个像RS防火墙那样的阻塞程序,我也检查了JCE和文章选项的设置。所有接受Javascript的权利都可以。
我在这里错过了什么?我怎样才能使它工作?
这是代码:
<script>
function myFunction() {
var input, filter, table, tr, td, i;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
</script>
至于说,我测试整个代码也以外的Joomla和代码本身看起来还好。所以与Joomla的组合使它成为一个问题。
任何帮助非常感谢!
编辑: 我创建了一个测试页面:test filter table Javascript代码片段在源代码行702附近。
谢谢!
答案很简单。你包含了必要的代码,但忘了叫它。 w3c示例包含一个我没有在源代码中看到的事件绑定。
例子:
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names..">
您的代码:
<input id="myInput" title="Type in a name" type="text" placeholder="Search for names.." />
你需要调用函数myFunction()
地方。否则,没有任何反应。如果你不能添加此的onkeyup直接输入栏,你可以使用这个JavaScript片段,以及:
$(document).ready(function() {
jQuery('#myInput').on('keyup', myFunction);
});
出于某种原因,onkeyup从代码中获取了脚本。我完全没有看到。在sourcerer标签({source})之间放置整个输入行之后,它被解决了。这够了!谢谢! – Jason
检查生成的表ID通过检查HTML –
是否JavaScript的出现在你的页面的源代码所有?该脚本只包含一个本身无用的函数。你是否也包含调用这个函数的代码? –
谢谢。是的,表格ID是一样的。代码是在页面的源代码中。这是我放置的确切代码:https://www.w3schools.com/howto/howto_js_filter_table.asp – Jason