我试图创建一个动态文本框,我可以使用它来允许输入多个值。我为此采用了javascript,认为这会让我获取文本值并将其放入列表中,然后将其传递到我的Web应用程序。但是,代码document.getElementById('<%=sidemgr.ClientID%>').value
仅从其创建时获取sidemgr.txt的初始值。捡起ASP文本框的更改值
如何获取此文本框的更新值?我必须使用JavaScript文本框吗?
这里是JavaScript我
<script type="text/javascript">
$(document).ready(function() {
$("#btnAdd").click(function() {
var value = document.getElementById('<%=sidemgr.ClientID%>').value;
var field = $("#field").val();
var input = "<div id='listDiv' />";
var newRow = "<tr><td>" + field + "</td><td>" + value + "</td></tr>";
$('#controls').append(newRow);
});
});
</script>
和HTML
<div>
<asp:TextBox ID="sidemgr" runat="server"></asp:TextBox>
<br />
<input id="btnAdd" type="url" value="Add" />
<asp:Button ID="btnProcess" runat="server" Text="Process" OnClick="Process" />
<table id="controls" cellpadding="10" cellspacing="10">
</table>
</div>
C#代码背后
protected void Process(object sender, EventArgs e)
{
var parameters = Request.Form["parameters"];
if (parameters != null && parameters.Count() > 0)
{
parameters.Split(',').ToList().
ForEach(p =>
{
Response.Write(p + "<br />");
});
}
}
请注意,其中一些来自我前一段时间发现的解决方案。
@ Cal279好的电话,我注意到我自己却忘了更新问题。话虽如此,“价值”应该在哪里,只有“未定义”。我接受'field'目前是不确定的,因为我还没有使用它,但肯定'value'应该保存我的文本框的值? – Wolfish
你可以尝试使用JQuery来访问它,看看是否有任何区别? - 例如$( '#<%= sidemgr.ClientID%>')VAL(); - 就像猜测一样(我的推理没有逻辑)。 – CalC
@ Cal279没有快乐。我确实恢复了“价值”,现在我已经改变为div而不是表格了,我可以看到它。不幸的是,我不能使用div,因为我需要将这些值传递给我的c#后端。 – Wolfish