0

我在javascript中有一个带有参数的函数,如下所示:

function editRow(str){
var row= document.getElementById(str);
var cols = row.getElementsByTagName("td");
..........
}

并且该函数应该获得某个 tr 的 id,并替换该 tr 包含的 td 中的所有文本。

所以,我尝试在 tr 中添加一个我想要更改的按钮,并使用“onclick”来调用该函数,但问题是该函数仅在没有参数的情况下工作,如果我试图发送一个参数它不起作用。 .. aspx.cs 页面:

......
foreach (DataRow row in ds.Tables[0].Rows)

{
(....more not important code.....)

allStr +=

"<td><input type='button' **onclick='editRow('row"+row["Id"]+"');'** value='edit'><form id='TreeDelete2' action='delete.aspx' method='post' onsubmit='return IfToDelete();'><input type='image' name='sbmt' src='/images/X.gif'/></form></td></tr>";

}

......

我用 ** 标记了该事件。

我要更改的 tr 的 id 是 row1 (row["Id"]==1)

那么还有其他方法可以从 aspx 文件中传递参数吗?还是我做错了什么?

4

1 回答 1

0

更改您的 js 函数以获取tr element itself,

function editRow(row){
   //var row= document.getElementById(str);
   var cols = row.getElementsByTagName("td");
   ..........
}

从后面的代码(不知道你input button string为什么在后面的代码中这样做),

"<td><input type='button' " +
        "onclick='editRow(this.parentNode.parentNode);' value='edit'>" + 
     "...</td>"
于 2012-12-09T16:30:51.407 回答