0

最初に、属性 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>

これはバグですか、それとも間違っていますか?

4

1 に答える 1

2

私の推測では、ASP.NETは(サーバー側で)それがまだ読み取り専用であるため、値を期待していません。ASP.NETのReadOnlyプロパティでは何もせず、純粋にクライアント上に保持することをお勧めします。ページの準備ができたら、JQueryで読み取り専用に設定します。

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

そして、適切なタイミングでクライアント側でアクティブにします。

$("#textBox").removeAttr('readonly');
于 2013-03-14T03:54:22.287 に答える