ポップアップ ウィンドウ (クリック時) をトリガーする div を持つ asp.net アプリケーションがあります。コード ビハインド コードで何かが発生した場合は、ウィンドウをポップアップする必要があります。
div をクリックする JavaScript コード ブロックを自分のページに送信できると考えましたが、うまく動作しないようです。popup プラグインの jQuery は次のとおりです。
$(function () {
$('.c_popup').modalPopLite(
{ openButton: '#div_trigger',
closeButton: '#close-btn'
});
});
単純な div がそれをトリガーします (div をクリックすることにより):
<div id="div_trigger">Trigger</div>
ページ上のボタンを使用して、javascript から div をクリックできます。
<input type="button" id="btn_show_error" value="Popup"
onclick="document.getElementById('div_trigger').click();" />
それはうまくいきます。しかし、次のように、コードビハインドから正確にその JavaScript ブロックをページに送信しようとすると、次のようになります。
ClientScript.RegisterStartupScript(Page.GetType(), "error_click",
"<script>document.getElementById('div_trigger').click();</script>")
何も起こりません。シンプルなアラート ボックスに変更して、コード ビハインドをテストしました。
ClientScript.RegisterStartupScript(Page.GetType(), "error_click",
"<script>alert('Hello World');</script>")
そして、それはうまくいきます。したがって、JavaScript がコード ビハインドからページに到達していることがわかります。同じ JavaScript ブロックは、ページ自体のボタンから来たときに必要なことを行いますが、コード ビハインドからは機能しません。
どんなアイデアでも大歓迎です。私は本当に立ち往生しています。
編集: 2 人のポスターが、ポップアップ コントロールがバインドされる前に JavaScript を投稿していると回答しました。私が与えられた助けを借りても、この問題を解決する方法がわかりません。ページヘッダーブロックでこの関数を作成しようとしました:
function TriggerDiv() {
$(document).ready(function () {
alert('success'); //alert just to check if the function is firing
document.getElementById('div_trigger').click();
});
}
そして、私のコードビハインドから次のように呼び出しました:
ClientScript.RegisterStartupScript(Page.GetType(), "error_click",
"<script>TriggerDiv();</script>")
アラートは発生しますが、クリック イベントは発生しません。まだ正しい順序で作業を行っていないと考えています。それ以上の助けをいただければ幸いです。