2010-08-16 9 views
0

어떻게 PHP에서 자바 스크립트를 가져올 수 있습니까? 아무리 노력해도 내 페이지의 버튼을 자바 스크립트에서 이벤트를 트리거 할 수없는 것 같습니다.PHP에서 가져 오기 자바 스크립트

 <HEAD> 
<script src="myfile.js" type="text/javascript"></script> 
</HEAD> 

내가 뭘을 :

function addRow(tableID) { 

var table = document.getElementById(tableID); 

var rowCount = table.rows.length; 
var row = table.insertRow(rowCount); 

var colCount = table.rows[0].cells.length; 

for(var i=0; i<colCount; i++) { 

    var newcell = row.insertCell(i); 

    newcell.innerHTML = table.rows[0].cells[i].innerHTML; 
    //alert(newcell.childNodes); 
    switch(newcell.childNodes[0].type) { 
    case "text": 
    newcell.childNodes[0].value = ""; 
    break; 
    case "checkbox": 
    newcell.childNodes[0].checked = false; 
    break; 
    case "select-one": 
    newcell.childNodes[0].selectedIndex = 0; 
    break; 
    } 
} 
} 

function deleteRow(tableID) { 
try { 
var table = document.getElementById(tableID); 
var rowCount = table.rows.length; 

for(var i=0; i<rowCount; i++) { 
    var row = table.rows[i]; 
    var chkbox = row.cells[0].childNodes[0]; 
    if(null !== chkbox && true === chkbox.checked) { 
    if(rowCount <= 1) { 
    alert("Cannot delete all the rows."); 
    break; 
    } 
    table.deleteRow(i); 
    rowCount--; 
    i--; 
    } 

} 
}catch(e) { 
    alert(e); 
} 
} 

이 내가 PHP 파일에서 가져 오려고하는 방법입니다 :

이 내 자바 스크립트 파일 내용입니다 잘못된?

+0

이것은 완전히 괜찮습니다. 파일이로드되고 있습니까? 무슨 일이 일어나기를 기대하고 있니? –

+1

이것은 전혀 PHP 문제가되지 않는 것 같습니다 – Gordon

+0

파일이로드되는 것을 어떻게 볼 수 있습니까? 내가 웹 브라우저의 소스 코드를 볼 때 스크립트 태그를 볼 수 있습니다. 내가 기대하는 것은 'addrow'버튼을 누른 후 추가되는 행입니다. 다음 예를 참조하십시오. http://viralpatel.net/blogs/2009/03/dynamically-add-remove-rows-in-html-table-using-javascript.html – Yustme

답변

4

Firefox에서 페이지를 엽니 다. 페이지를 마우스 오른쪽 단추로 클릭하고 옵션을 선택하여 소스 코드를 표시하십시오. 스크립트 태그를 찾아 링크 된 src를 클릭하십시오. 404를 주면 링크가 잘못되었습니다. JS 코드가 표시되면 괜찮습니다. Firefox 용 Firebug를 설치하고 코드를 디버깅하십시오. 이벤트 리스너가 실제로 트리거되는지 확인하십시오.

+0

안녕하세요, 찾았습니다! 그것은 그 길과 관련이있었습니다. 나는 몇 개의 디렉토리로 돌아가서 js 파일이 다음과 같이 위치 하는지를 말해야했다 : ../../application/view/myfile.js – Yustme

+0

@Yustme 상대 경로 대신 @Yustme, 절대 경로를 사용할 수있다. 통로. 절대 경로는 문서 루트를 기준으로합니다. 경로를'/ application/view/myfile.js'로 변경해보십시오. 이렇게하면 디렉토리 트래버 설 (directory traversal)을 이용하지 않아도됩니다. – Gordon

+0

+1 멋진 단계별로 :) – chryss

0

src 속성이 JS 파일의 올바른 위치를 가리키고 있는지 확인하십시오. JS 파일이 문서 루트 아래에 있지만 PHP 파일이 아닌 경우 "/myfile.js"여야합니다.

+0

나는 심지어 파일에 대한 전체 경로를 전달하려고 시도했다. – Yustme

+0

"src"는 절대 또는 상대 URL을 사용합니다. 서버의 파일 시스템에 매핑하는 방법은 웹 서버 구성에 따라 결정됩니다. 전체 (파일) 경로는 거의 작동하지 않을 것입니다. 다른 사람들이 말했듯이 파일이 실제로로드되고 있는지 확인해야합니다. 그렇지 않은 경우 서버 구성을 충족시키기 위해 src를 지정하는 방법을 알아야합니다. (또한 서버에서 파일 권한 문제 일 수 있습니다.) –

관련 문제