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附近。

谢谢!

+0

检查生成的表ID通过检查HTML –

+0

是否JavaScript的出现在你的页面的源代码所有?该脚本只包含一个本身无用的函数。你是否也包含调用这个函数的代码? –

+0

谢谢。是的,表格ID是一样的。代码是在页面的源代码中。这是我放置的确切代码:https://www.w3schools.com/howto/howto_js_filter_table.asp – Jason

答案很简单。你包含了必要的代码,但忘了叫它。 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); 
}); 
+0

出于某种原因,onkeyup从代码中获取了脚本。我完全没有看到。在sourcerer标签({source})之间放置整个输入行之后,它被解决了。这够了!谢谢! – Jason