jQuery FancyBoxがASP.NETログアウトリンクを停止している

私はASP.NET WebサイトでFancyBox jQueryプラグイン(http://fancybox.net/)を使用していますが、小さくても迷惑な問題が発生しました。

このサイトはデフォルトのASP.NETログインコントロールを使用し、FancyBoxにフォームを開くポップアップを表示します。 FancyBoxリンクのどれかをクリックしてから(LoginStatusコントロールによって提供される)ログアウトリンクを押すと、すべてが正常に動作します。

しかし、FancyBoxのリンクの1つをクリックして閉じると、ログアウトリンクが機能しなくなり、何も起こりません。ポストバックが何らかの理由で起動していないかのように表示されます。

私はいくつかの検索をしましたが、似たような問題を誰にも見いだすことはできません。

前もって感謝します

更新:IEのデバッガからの少しの助けを借りて、ここでJavaScriptのエラーを追跡しました -

function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
    theForm.__EVENTTARGET.value = eventTarget;
    theForm.__EVENTARGUMENT.value = eventArgument;
    theForm.submit();
}

より具体的には、私が受け取るエラーとイベントターゲットを設定する行には -

SCRIPT5007:プロパティ 'value'の値を設定できません:オブジェクトはnullまたは未定義です

更新2:私は一時的な修正を配置しました - 基本的に私はちょうどonClosedイベントにフックし、その時点でページをリロード -

$("#form_popup").fancybox({ 
'scrolling': 'no', 
'titleShow': true, 
'onClosed' : function() { 
    location.reload(); 
} });

もちろん、問題はページが最初から完全にリロードされ、jQueryを使用する点が見当たりませんが、少なくとも動作します。

1
noConflictモードでjQueryを使用していますか? Fancyboxは#form_popupのクローンを取得するので、#form_popupをDOMに2つ持ちます。多分この干渉は幾分か?
追加された 著者 Simon Edström,
iframeを使用していますか?コンソールでちょっと遊んで、これがnullかどうかを確認してください:theForm .__ EVENTTARGETまたはtheForm(私はあなたがIEコンソールで直接実行できると思うか、Chromeに切り替えてテストするだけです)
追加された 著者 Simon Edström,
@KevinMain "X-UA-Compatible"メタタグを使用してWebページを強制的にIE8モードにする必要があります
追加された 著者 Devjosh,
firefoxのコンソールで何のエラーが出るのですか?firefox @KevinMain
追加された 著者 Devjosh,
ありがとう、私の編集をご覧ください。
追加された 著者 Kevin Main,
こんにちは@Devjosh、あなたの提案に感謝しましたが、他のブラウザでもテストされ、同じ結果をブラウザの問題ではないと確信して何か違いはありませんでした。
追加された 著者 Kevin Main,
うーん..面白いFireFoxが動作するように見える唯一のブラウザですが、Firebug Sys.ArgumentTypeExceptionで次のエラーが発生します。 'AjaxControlToolkit.AlwaysVisibleControlBehavior'タイプのオブジェクトを 'AjaxControlToolkit.AlwaysVisibleControlBehavior'に変換することはできません。パラメータ名:インスタンス
追加された 著者 Kevin Main,
ありがとう@SimonEdström、それは私の初期の考えでnoConflict()を試しましたが、何の違いもないようですが、問題はこれらの行に沿ったものであると確信しています。
追加された 著者 Kevin Main,
任意のJavaScriptのエラー?
追加された 著者 Mikael Härsjö,

1 答え

同じ問題を抱えている人は、私はこのハックでこれを解決しました

$("#form_popup").fancybox({ 
 'scrolling': 'no', 
 'titleShow': true, 
 'onClosed' : function() { 
 location.reload(); 
} });

したがって、問題を解決する閉じるボタンが押されるたびにページがリロードされます。

0
追加された