删除客户端脚本上的只读属性时,没有从文本框返回值

本文关键字:文本 返回值 脚本 客户端 只读属性 删除 | 更新日期: 2023-09-27 18:03:43

最初我有一个属性为readonly = true的文本框。当我使用asyncFileUpload OnClientUploadCompleted时,我成功地删除了asp文本框(客户端)上的只读属性。但是当我试图从服务器端检索我的文本框的值,它返回一个空字符串或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>

这是一个bug还是我做错了?

删除客户端脚本上的只读属性时,没有从文本框返回值

我猜ASP。. NET不期望任何值,因为就它而言(在服务器端)它仍然是只读的。我建议不要在ASP中使用ReadOnly属性。NET并将其完全保留在客户端。当页面准备好时,用JQuery将其设置为只读。

$(document).ready(function() {
    $("#textBox").attr('readonly','readonly');
});

,然后在合适的时间使其在客户端活跃:

$("#textBox").removeAttr('readonly');