2010-08-16 20 views
0

如何在php中導入javascript?無論我嘗試什麼,我似乎都無法讓頁面中的按鈕觸發javascript中的事件。在php中導入javascript

這是我的JavaScript文件內容:

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文件:

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

我在做什麼錯誤?

+0

這是完全沒問題的。文件是否被加載?你期望發生的事情沒有發生? – 2010-08-16 09:28:18

+1

這似乎不是一個PHP的問題 – Gordon 2010-08-16 09:31:06

+0

我怎麼看如果該文件正在加載?當我查看webbrowser的源代碼時,我可以看到腳本標記。我期待的是在按下'addrow'按鈕後添加一行。看到這個例子:http://viralpatel.net/blogs/2009/03/dynamically-add-remove-rows-in-html-table-using-javascript.html – Yustme 2010-08-16 09:31:12

回答

4

在Firefox中打開頁面。右鍵單擊頁面並選擇選項以顯示源代碼。找到腳本標記並單擊鏈接的src。如果它給你一個404,鏈接是錯誤的。如果它顯示你的JS代碼,那很好。安裝Firefox的Firebug並用它調試你的代碼。確保您的事件監聽器實際上被觸發。

+0

嗨,我發現它!它必須處理這條路。我不得不回到幾個目錄,然後告訴它js文件的位置如下所示:../../application/view/myfile.js – Yustme 2010-08-16 09:57:31

+0

@Yustme而不是相對路徑,可以使用絕對路徑路徑。絕對路徑與文檔根有關。嘗試將路徑更改爲'/ application/view/myfile.js'。這應該可以幫助您擺脫目錄遍歷。 – Gordon 2010-08-16 10:22:01

+0

+1,爲您提供更好的分步指導:) – chryss 2010-08-16 10:34:08

0

請確保您的src屬性指向JS文件的正確位置。 (也許它需要是「/ myfile.js」,如果JS文件位於文檔根目錄下,但php文件不在)。

+0

我甚至嘗試傳遞文件的完整路徑,沒有運氣。 – Yustme 2010-08-16 09:48:42

+0

「src」採用絕對或相對的URL。如何映射到服務器上的文件系統完全取決於您的Web服務器配置:完整(文件)路徑幾乎肯定不會起作用。 您需要檢查文件是否實際上正在加載,如其他人所說,如果不是,請確定如何指定src以滿足服務器的配置。 (它也可能是您的服務器上的文件權限問題)。 – 2010-08-16 09:59:26