我在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 (行“Id”==1)
那么还有其他方法可以从aspx文件中传递参数吗?还是我做错了什么?
发布于 2012-12-10 00:30:51
更改您的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>"https://stackoverflow.com/questions/13789225
复制相似问题