2011-12-16 27 views
1

私はユーザーコントロールを使用していますが、私は質問をするポップアップを呼び出す必要があり、そのユーザーコントロールに返答(trueまたはfalse)を返す必要があります。ポップアップを起動します。私は隠れたフィールドを宣言してクライアント側からその値を格納するようにしました。そのため、コードの背後にあるコードからアクセスして、さらにコードを実行することができます。Asp.NetはJavaScriptのポップアップウィンドウから値を取得します

ASP.Net

<script type="text/javascript"> 
     function confirmNoCallList() { 
      debugger; 
      var resp = confirm("¿Seguro/a que desea agregar a este subscriptor a la 
         lista de 'No Llamar'?"); 

      window.opener.document.getElementById('hfAddToNoCallList').value = resp; 
     } 
</script> 


<ajax:TabContainer ID="tbcMyProfile" runat="server" ActiveTabIndex="0" Width="500px"> 
     <ajax:TabPanel ID="tbpInfoCta" runat="server" HeaderText="Información de mi 
          Cuenta"> 
      <ContentTemplate> 
       <asp:HiddenField ID="hfAddToNoCallList" runat="server" /> 
. 
. 
. 

機能がいるwindow.openerラインに当たったとき、私はエラーを取得しています:私は、次のコードを持っています。どのようにこれを正しい方法で行うための任意のアイデアですか?

+0

何あなたはどうしますか? – jrummell

答えて

1

ラインからwindow.opener.を削除してください:

document.getElementById('<%= hfAddToNoCallList.ClientID"%>').value = resp; 

または

function confirmNoCallList(hiddenField) { 
     debugger; 
     var resp = confirm("¿Seguro/a que desea agregar a este subscriptor a la 
        lista de 'No Llamar'?"); 

     document.getElementById(hiddenField).value = resp; 
    } 
+0

ありがとう!!どちらの方法も私が探していたものです。 –

1

window.openerは、現在のウィンドウを作成するためにwindow.open(...)というブラウザウィンドウへの参照を提供します。 window.openに電話していない場合、オープナーはnullになります。

投稿したコードスニペットでは、JavaScriptと非表示フィールドが同じドキュメントにあります。あなたは、実行時に動的にClientIDを取得したり、それを見つけることができる機能や引数に渡す必要がありwindow.opener.document.getElementById ...

+0

私はそれを行うと、次のエラーが表示されます: 'value'プロパティの値を設定できません:オブジェクトがnullまたは未定義 –

関連する問題