我的html中有四個文本框;一個是serverside asp:textbox,另一個是使用動態javascript在客戶端渲染的。 javascript創建了textareas;有可能是6,有可能是90.在這個例子中有3在ButtonClick上使用JS更改asp:HiddenField.value
<asp:Textbox id="tbxReal" runat="server"/>
<asp:button id="btnReal" runat="server" Value="go" />
<asp:HiddenField ID="hdnID" runat="server" />
<textarea rows="10" cols="60" id="one"></textarea>
<input onclick="sub('one');" type="button" value="Go_One" />
<textarea rows="10" cols="60" id="two"></textarea>
<input onclick="sub('two');" type="button" value="Go_Three" />
<textarea rows="10" cols="60" id="one"></textarea>
<input onclick="sub('three');" type="button" value="Go_Three" />
我希望能夠提交的JavaScript呈現文本/通過1臺服務器側控制按鈕。
這裏是我的javascript:
function sub(id)
{
hdn = document.getElementById('WhatGetsAppended_hdnID');
hdn.value = id;
alert(hdnID.value);
var Real = document.getElementById('WhatGetsAppended_tbxReal');
var Fake = document.getElementById(id);
Real.value = Fake.value;
var button = document.getElementById('WhatGetsAppended_btnReal');
button.click();
}
那麼對於tbxReal C#的事件處理程序:
protected void btnReal_Click(object sender, EventArgs e)
{
Response.Write(Convert.ToInt32(hdnID.Value) + "<BR />");
Response.Write(tbxReal.Text + "<BR />");
}
我的代碼工作改變內tbxReal的文字,但我無法改變的值發生回發時的hdnId。如何修復我的代碼,以便我可以在Javascript中更改HiddenField的值並讓回發讀取新值?
編輯:確認我知道JS中的服務器控件的客戶端ID是什麼。
生成的HTML看起來像什麼? – palswim 2010-08-27 17:39:16
這似乎是使用'UpdatePanel'控件添加新文本框的適當情況。 – lincolnk 2010-08-27 18:35:05