2012-01-11 11 views
17

Ho bisogno di un javascript 'OK'/'Annulla' avviso una volta che clicco su un collegamento.javascript popup alert sul link click

Ho il codice di allarme:

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

Ma come faccio a fare in modo questo solo viene eseguito quando si clicca un certo legame?

risposta

10

basta farlo funzionare,

<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

grazie, se clicco cancellare anche se apre ancora il link/ – user1022585

+0

@ user1022585 è necessario 'return false' per impedire al collegamento di spostarsi. Vedi la mia risposta qui sotto - il metodo 'Confirm' restituisce un' booleano' che puoi uscire dalla tua funzione con ... – xandercoded

+0

scusa ho copiato il tuo codice e il tuo codice era sbagliato. se l'utente dice "ok" la risposta imposterà "true" quindi non è necessario "!", l'ho modificata. – ocanal

3

Per fare questo è necessario collegare il conduttore ad un ancoraggio specifico della pagina. Per operazioni come questa è molto più facile usare un framework standard come jQuery. Per esempio, se ho avuto il seguente codice HTML

HTML:

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

ho potuto utilizzare il seguente jQuery per hookup un evento a questo link specifico.

// 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

È possibile utilizzare l'attributo onclick, proprio return false se non si vuole continuare;

<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

In realtà funziona molto meglio, una soluzione più generale che dovrebbe essere accettata. –

11

linea singolo funziona bene:

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

aggiunta un'altra linea con un collegamento diverso sulla stessa pagina funziona bene troppo:

<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

Per aumentare la qualità della risposta (e così facendo, non essere contrassegnato), potresti spiegare perché il suo codice non funzionava. A volte le parole aiutano di più del codice. –