我的页面上有一个隐藏的 TextBox
控件,它使用 jQuery 更新 keyup
事件上的 span
标记。当页面回传到服务器时,innerHTML
属性为空。
如何获取在 keyup
事件期间设置的值?
客户端代码:
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$('#MyHiddenTextBox').keyup(function(){
if($(this).val().length > 0){
SetSpanValue();
}
});
});
function SetSpanValue() {
var mytext = $('#MyHiddenTextBox').val();
$('#MySpanTag').html(mytext);
}
</script>
<style type="text/css">
.USBBox
{
position: absolute;
left: -999em;
}
</style>
<asp:TextBox ID="MyHiddenTextBox" runat="server" CssClass="USBBox" />
<span id="MySpanTag" runat="server" enableviewstate="true" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
服务器端代码
protected void btnSubmit_Click(object sender, EventArgs e)
{
string x = MySpanTag.InnerHtml; //this is coming back empty
}
最佳答案
请记住,asp.net 仍然构建在 html 表单提交之上,并且对于 html 表单,仅将输入和选择标记提交回服务器。因此,您需要使您的 JavaScript 更新某种类型的输入(隐藏也可以正常工作),同时更新跨度。
关于asp.net - 页面提交期间 span 标记上的 InnerHTML 属性为空 - jQuery/ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050855/