0

我有一个 JavaScript,当我单击表格行时,我用它来打开一个新页面:

//for clicking on a row in tabs and opening new page
function addOnclickToTabsDatatableRows() {
    //gets all the generated rows in the html table
    var trs = document.getElementById('formname:dataTable').getElementsByTagName('tbody')[0]
    .getElementsByTagName('tr');
    //on every row, add onclick function (this is what you're looking for)
    for (var i = 0; trs.length > i; i++) {
        var cells = trs[i].cells;                    
        for(var j=1; j < cells.length; j++){
            cells[j].onclick = new Function("rowOnclick(this.parentElement)");
        }                    
    }
}

我注意到一个我无法解决的问题。我在几个页面上应用了这个 JS 脚本。在每个页面中,我都有具有不同 ID 的不同表单。现在,如果我想使用这个 JS,我必须让每个表单都带有 id formname。无论 ID 是什么,我如何将这个 JS 应用于每个表单?我可以使用任何标准方法吗?

4

2 回答 2

3

而不是document.getElementById('formname:dataTable'),只需使用document.getElementsByTagName("form")

于 2012-10-13T18:03:44.057 回答
2

只需遍历页面中的所有表单,如下所示:

for(var i=0;i<document.forms.length;i++) {
    var trs = document.forms[i].getElementsByTagName('tbody')[0]
    .getElementsByTagName('tr');
    // rest of your code..
}
于 2012-10-13T18:03:27.287 回答