2009-09-03 10 views
1

「セクシーアラートボックス」スクリプトを呼び出すページへのリンクがあり、ユーザーが「同意する」オプションで利用規約に同意するかどうかを尋ねるメッセージが表示されます「キャンセル」をクリックします。hrefでアラートを呼び出してから新しいページに進みます

私はこれまでに多くのことを行ってきましたが、今は私は新しいページにそれらを送るために "同意する"オプションが必要です。 (「キャンセル」は現在のページを返します)

何かをdocument.location.hrefと関係させますか?

私はmootoolsフレームワークを使用しています。ここでSexy Alert Box 1.2 mootools & jQuery

コードです:

<a href="#" 
    onclick="Sexy.confirm('Do you agree to the terms and conditions?', { 
     textBoxBtnOk: 'I Agree', // goes to www.newpage.com 
     textBoxBtnCancel: 'Cancel' // return to current page  
    });">Link</a> 
+2

ため

使用> '、非jsユーザーは機能しないリンクで終わることはありません。 – kangax

答えて

2

標準、JavaScriptの組み込みのconfirm機能は、(これは同期アクションです)プッシュボタンに応じて、trueまたはfalseを返しますこのSexy.confirmプラグインは、コールバック関数(の非同期アクションになります)を介してその選択肢を返すようなものです。例えば

function doConfirm() { 
    Sexy.confirm('Do you agree to the terms and conditions?', { 
     textBoxBtnOk: 'I Agree', 
     textBoxBtnCancel: 'Cancel', 
     onComplete: function(returnvalue) { 
      // here is where you act, after user has made a choice... 
      if (returnvalue) { 
       //alert ("pressed OK"); 
       window.location.href = '/page1/'; 
      } 
      else { 
       //alert("pressed Cancel"); 
       window.location.href = '/page2/'; 
      } 
     } 
    }); 
    return false; // this is to cancel the native click event 
} 

そして、あなたはあなたのリンクが少し立派タグ作ることができ、

<a href="#" onclick="return doConfirm();">Link</a> 

幸運! MooToolsはで

+2

P.S.の場合、javascriptのないuser-agentが引き続きサイトにアクセスできるように、 'href ="# "'を実際のhrefを指すように変更することを強く検討する必要があります。 – Funka

+0

皆様、ありがとうございました。どうもありがとう! –

1

:本当に `

<a class="confirm" href="www.google.fr">Google Fr</a> 
<a class="confirm" href="www.google.be">Google Be</a> 

とJavaScript

window.addEvent('domready', function() { 
    $$('a.confirm').each(function (el) { 
     el.addEvent('click', function (e) { 
      e.stop(); 
      Sexy.confirm('<h1>Etes-vous sur de vouloir suivre ce lien ?</h1>',{ 
       onComplete: function(returnvalue) { 
        if (returnvalue) { 
         window.location.href = el.get('href'); 
        } 
       }, 
       textBoxBtnOk: 'Oui', 
       textBoxBtnCancel: 'Non' 
      }); 
     }); 
    }); 
}); 
関連する問題