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 に答える