2017-10-16 4 views
3

자바 스크립트를 사용하여 표를 필터링하고 싶습니다. CMS없이 코드를 테스트했는데 완벽하게 작동했습니다. 그러나 Joomla te로 이동하면 Javascript가 인식/실행되지 않습니다. 뭔가가 막히거나 충돌하는 것 같아요.Joomla의 자바 스크립트 또는 모듈이 실행되지 않았습니다.

코드를 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와의 조합은 문제가됩니다.

어떤 도움을 주셔서 감사합니다.

편집 : 테스트 페이지를 만들었습니다 : test filter table Javascript 스 니펫은 소스의 702 행 주위에 있습니다.

감사합니다.

+0

가 생성 된 테이블 ID를 확인 HTML –

+0

를 검사하여 자바 스크립트 페이지의 소스 코드에 나타나지 않습니다 모든? 스크립트는 그 자체가 쓸모없는 함수만을 포함합니다. 이 함수를 호출하는 코드도 포함 시켰습니까? –

+0

감사합니다. 예, 표 ID는 같습니다. 그리고 예 코드는 페이지 소스에 있습니다. 이것은 내가 배치 한 정확한 코드입니다. https://www.w3schools.com/howto/howto_js_filter_table.asp – Jason

답변

0

답은 간단합니다. 필요한 코드를 포함했지만 호출하지 않았습니다. 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에 직접 입력 필드에이를 추가 할 수없는 경우, 당신은뿐만 아니라이 자바 스크립트 코드 조각을 사용할 수 있습니다

$(document).ready(function() { 
    jQuery('#myInput').on('keyup', myFunction); 
}); 
+0

어떤 이유에서든 onkeyup이 코드에서 스크립트를 작성했습니다. 나는 그것을 전혀 보지 못했다. sourcerer 태그 ({source}) 사이에 전체 입력 행을 배치 한 후 해결되었습니다. 그 정도면 충분했습니다! 감사! – Jason