2012-01-11 9 views
17

リンクをクリックするとjavascript 'OK'/'Cancel'アラートが必要です。リンク上のJavaScriptのポップアップアラート

私は、アラート・コードがあります。

<script type="text/javascript"> 
<!-- 
var answer = confirm ("Please click on OK to continue.") 
if (!answer) 
window.location="http://www.continue.com" 
// --> 
</script> 

をしかし、特定のリンクをクリックしたときにどのように私はそれので、これだけで実行するのですか?

答えて

10

ちょうどあなたがページ上の特定のアンカーにハンドラをアタッチする必要があり、これを行うためには、その機能

<script type="text/javascript"> 
function AlertIt() { 
var answer = confirm ("Please click on OK to continue.") 
if (answer) 
window.location="http://www.continue.com"; 
} 
</script> 

<a href="javascript:AlertIt();">click me</a> 
+1

おかげで、私はクリックキャンセルした場合リンクをまだ開いていますが、/ – user1022585

+0

@ user1022585リンクをナビゲートしないようにするには 'falseを返す '必要があります。私の答えは下記を参照してください。 - 'Confirm'メソッドはあなたの関数を終了できる' boolean'を返します。 – xandercoded

+0

申し訳ありませんあなたのコードをコピーしました。あなたのコードは間違っていました。ユーザーが「ok」と答えた場合、「true」に設定されるので、「!」する必要はありません。変更しました。 – ocanal

3

を作ります。このような操作のためには、jQueryのような標準フレームワークを使うほうがはるかに簡単です。私は、次のHTML

HTML持っている場合たとえば:

<a id="theLink">Click Me</a> 

を私は特定のリンクにイベントをフックアップするために、次のjQueryを使用することができます。続行したくないだけでreturn false場合は、onclick属性を使用することができます

// Use ready to ensure document is loaded before running javascript 
$(document).ready(function() { 

    // The '#theLink' portion is a selector which matches a DOM element 
    // with the id 'theLink' and .click registers a call back for the 
    // element being clicked on 
    $('#theLink').click(function (event) { 

    // This stops the link from actually being followed which is the 
    // default action 
    event.preventDefault(); 

    var answer confirm("Please click OK to continue"); 
    if (!answer) { 
     window.location="http://www.continue.com" 
    } 
    }); 

}); 
25

<script type="text/javascript"> 
function confirm_alert(node) { 
    return confirm("Please click on OK to continue."); 
} 
</script> 
<a href="http://www.google.com" onclick="return confirm_alert(this);">Click Me</a> 
+0

これは実際にはるかに優れています - 受け入れるべきより一般的な解決策です。 –

11

シングルラインが正常に動作します:同じページ上の別のリンクを別の行を追加し

<a href="http://example.com/" 
onclick="return confirm('Please click on OK to continue.');">click me</a> 

があまりにも正常に動作します:

<a href="http://stackoverflow.com/" 
onclick="return confirm('Click on another OK to continue.');">another link</a> 
0
function alert() { 
    var answer = confirm ("Please click on OK to continue.") ; 

    if(answer){ 
     window.location="url"; 
    } 
} 
+1

応答品質を向上させるには(フラグを立てずに)、コードが機能しなかった理由を説明することができます。時には単語がコードを助けます。 –

関連する問題