2

JavaScript によって動的に作成された (CodeBehind 内の) コントロールの値にアクセスするにはどうすればよいですか?

次のコードを使用して、コントロールを動的に作成しました。

var counter = 0;
var words;
var foo;//span tag 

function add(i) {
    var counter = 0;
    var words;
    var foo;//span tag asp in page where the controls to be added

    if (i == 'ad') {
        counter++;
        //Create an input type dynamically.
        foo = document.getElementById("dynamic")
        tbnam = document.createElement("input")  //textbox
        tbdes = document.createElement("input")  //textbox
        lbnam = document.createElement("Label")
        lbdes = document.createElement("Label")
        before = document.createElement('br')
        after = document.createElement('br')

        //Assign different attributes to the element.
        wordsnam = document.createTextNode("Item")
        wordsdes = document.createTextNode("Descrip")
        tbnam.setAttribute("type", "TextBox");
        tbdes.setAttribute("type", "TextBox");
        tbnam.setAttribute("Id", "tbdynamicnam" + counter);
        tbdes.setAttribute("Id", "tbdynamicdes" + counter);
        lbnam.setAttribute("Id", "lbdynamicnam" + counter);
        lbdes.setAttribute("Id", "lbdynamicdes" + counter);
        before.setAttribute("Id", "bf" + counter);
        after.setAttribute("Id", "af" + counter);

        lbnam.appendChild(wordsnam)
        lbdes.appendChild(wordsdes)

        //Append the element in page (in span).

        foo.appendChild(before);
        foo.appendChild(lbnam);
        foo.appendChild(tbnam);
        foo.appendChild(lbdes);
        foo.appendChild(tbdes);
        foo.appendChild(after);            
    }
}
4

1 に答える 1

6

フォームが送信されると、それはRequest.Form コレクションになります。すべてのコレクション (QueryString、Form、Cookies、および ServerVariables) をチェックする Request オブジェクトで最も簡単にアクセスできます。

JavaScript:

tbnam = document.createElement("input")  //textbox       
tbnam.setAttribute("type", "TextBox");       
tbnam.setAttribute("Id", "tbdynamicnam" + counter);
tbnam.setAttribute("name", "tbdynamicnam" + counter);

分離コード:

string newval = Request["newelementname"];

James Montagneが後述するように、フォーム要素名が必要になります。

于 2012-04-10T14:17:52.483 に答える