单击JS行

时间:2012-10-13 17:58:02

标签: javascript

我有一个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,我必须拥有身份formname的每个表单。无论我在哪里,我如何为每种形式应用这个JS?我可以使用任何标准方法吗?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

只需迭代页面中的所有表单,如下所示:

for(var i=0;i<document.forms.length;i++) {
    var trs = document.forms[i].getElementsByTagName('tbody')[0]
    .getElementsByTagName('tr');
    // rest of your code..
}