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



最初我有一个属性为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');

最新更新