AsyncFileUpload
コントロールで画像をアップロードしています。AsyncFileUploadコントロールを使用して画像をアップロードした後に非表示フィールドの値を更新します。
オンUploadedComplete
ScriptManager.RegisterClientScriptBlock
を使用して、非表示フィールドに値を割り当てようとしています。
HTML:
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" CombineScripts="false">
</asp:ToolkitScriptManager>
<div>
<asp:AsyncFileUpload ID="uplImage" OnUploadedComplete="uplImage_UploadedComplete"
runat="server" Width="285px" ClientIDMode="AutoID" EnableViewState="false" />
<asp:HiddenField runat="server" ID="hdnTempImgNm" />
<input type="button" id="btnCheck" value="Check" class="btnCheck" />
</div>
イベントハンドラ:
protected void uplImage_UploadedComplete(object sender, EventArgs args)
{
//1 case:
//ScriptManager.RegisterClientScriptBlock(uplImage, uplImage.GetType
// (), "myscript",
//String.Concat(" $(document).ready(function(){$('input:hidden
// [name*=\"hdnTempImgNm\"]').val('Some value');})"),true);
//2 case:
ScriptManager.RegisterClientScriptBlock(uplImage, uplImage.GetType
(), "myscript",
String.Concat("top.document.getElementById('" + hdnTempImgNm.ClientID
+ "').value='Some value'; "),true);
}
のjavascript:私は隠された申請値Iをチェックするためのチェックボタンをクリックして1場合
<script>
$(document).ready(function() {
$('.btnCheck').click(function (e) {
alert($('input:hidden[name*="hdnTempImgNm"]').val());
});
})
</script>
空の値を取得します。しかし、私がtop.document
を使用する2つのケースでは、正しい値、すなわち「ある値」を得る。
私の質問は: 1.なぜ1つのケースが動作しないのですか? 2. jqueryを使用して2つのケースを書き換えるにはどうすればよいですか(top.documentの書き方など)?
ありがとう
隠しファイルが読み込まれました。alert($( 'input:hidden [name * = \ "hdnTempImgNm \"]))attr(\ "id \"))を使用してチェックすることができます。私はあなたの提案を試みましたが、残念ながらうまくいきません。 – Elistan