2011-10-20 15 views
0

javascript alertウィンドウのOKボタンをクリックすると、ページの再表示を防ぐ方法を教えてください。ポップアップ後にページが更新されないようにする

<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="verify_complete()" /> 


function verify_complete() { 
     if (!chkCmnts()) { 
      alert("Categories/comments are required. "); 
      return false; 
         } 
          } 

おかげ

BB

答えて

0

あなたはこれを防ぐことはできませんが、彼はリロードしないことを、ポップアップを介してユーザに通知することができます。これはonbeforeunloadウィンドウイベントで行われます。これはMDNに記載されています。

スクリプトタグ

var controllVar = 1; 

あなたの親ウィンドウにこれを追加して、あなたのポップアップウィンドウにこれを追加します。 (ポップアップはwindow.open(...)の返信です)。実際にはいくつかの集中的なエラーテストがあります。IEにはさまざまな味があり、複数のバグが表示されるからです。

window.onbeforeunload = function (e) { 
    //here we try accessing the popup 
    try { 
     if(!popup && popup.controllVar != 1) { 
      return; 
     } 
    } catch(e) { 
    return; 
    } 

    e = e || window.event; 

    // For IE and Firefox prior to version 4 
    if (e) { 
    e.returnValue = 'YOUR ERROR MESSAGE'; 
    } 

    // For Safari 
    return 'YOUR ERROR MESSAGE'; 
}; 

あなたが回答TEXTAREAに、ページを残してみてくださいよりも、いくつかのテキストを追加する場合、これは、まさにここにStackOverflowの上のように動作します。あなたがあなたのマークアップを変更する必要があるので、あなたはすでにJSからfalseを返すされている

+1

-1彼はこれについて尋ねていません。 – Icarus

1

verify_complete()機能がtrueを返す場合

<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="return verify_complete()" /> 

それがない場合、それはしません、バック掲載します。

関連する問題