最初我有一个文本框,其属性为readonly = true。当我使用asyncFileUpload OnClientUploadCompleted时,我成功删除了我的asp文本框(客户端)上的readonly属性。但是当我尝试从服务器端的文本框中检索值时,它返回一个空字符串或null,即使它有一个值。 这是客户端脚本
<script type="text/javascript" language="javascript">
function OnClientUploadCompleteFn(){document.getElementById('ctl00_ContentPlaceHolder1_txtSponsorFileDesc').removeAttribute('ReadOnly');
}
</script>
<asp:TextBox ID="txtSponsorFileDesc" runat="server" MaxLength="100" TextMode="MultiLine" Height="70px" style="resize:none;"></asp:TextBox>
这是一个错误还是我做错了?
答案 0 :(得分:2)
我的猜测是ASP.NET期望没有价值,因为就它而言(在服务器端)它仍然是只读的。我建议不要在ASP.NET中使用ReadOnly属性做任何事情,并将其完全保留在客户端上。当页面准备就绪时,使用JQuery将其设置为只读。
$(document).ready(function() {
$("#textBox").attr('readonly','readonly');
});
然后在时机成熟时在客户端激活它:
$("#textBox").removeAttr('readonly');