2011-02-10 11 views
21

tengo este enlace:cuadro de alerta JavaScript en la confirman en el botón de prensa

<p id="accept-favor"><a title="Accept this Favor" href="?wp_accept_favor=<?php comment_ID(); ?>">Accept this Favor</a></p>

Quiero mostrar un cuadro de alerta JavaScript cuando un usuario hace clic en él diciendo: "¿Está seguro que desea aceptar esta responde como tu favor? " con dos botones uno que dice "Sí" que permitirá que la función se ejecute y el otro que dice "No", que simplemente cancelará la devolución de datos y mantendrá al usuario en la página.

¿Cómo podría hacer esto? Gracias :)

+4

'onclick = "return confirm ('?' This.innerText +);"' –

Respuesta

31

usted puede hacer fácilmente con una confirman onclick:

<p id="accept-favor"><a title="Accept this Favor" 
    href="?wp_accept_favor=<?php comment_ID(); ?>" 
    onclick="return confirm('Are you sure you would like to accept this reply as your favor?');" 
    >Accept this Favor</a></p> 

Aunque esto dirá Aceptar/Cancelar en lugar de Sí/No. Si realmente quiere Sí/No, tendrá que usar un diálogo personalizado.

+0

te falta un paréntesis de cierre. El código onClick debe ser 'onclick =" return confirm ('¿Estás seguro de que deseas aceptar esta respuesta como tu favor?'); "' – TMC

+0

Vaya, arreglado, gracias –

12

Puedes escribir onclick="return confirm('Are you sure?');".

El confirm function muestra un cuadro de diálogo Aceptar/Cancelar y devuelve true si el usuario hizo clic en Aceptar.
return ing false desde un controlador onclick se cancelará la acción predeterminada del clic.

1

Como otras respuestas hablan de directa onclick, me gustaría presentar una solución para una versión "mejor" (OMI = en mi opinión) utilizando los métodos y addEventListenerpreventDefault. Debido a que de esta manera podría vincular más haga clic en controladores.

HTML

<a href="#" id="confirmClickActionElementId">click me</a> 

JavaScript

document 
    .getElementById("confirmClickActionElementId") 
    .addEventListener("click", function(e){ //e => event 
     if(! confirm("Do you really want to do this?")){ 
      e.preventDefault(); // ! => don't want to do this 
     } else { 
      //want to do this! => maybe do something about it? 
      alert('Ok, lets do this!'); 
     } 
    }); 

violín: http://jsfiddle.net/ouyf86ya/

... o la manera antigua "return":

document 
    .getElementById("confirmClickActionElementId") 
    .addEventListener("click", function(){ 
     return confirm("Do you really want to do this?") ; 
    }); 

violín: http://jsfiddle.net/y2jLpkbb/

6

Se puede utilizar esta función:

myFunction() { 
    var x; 
    if (confirm("Are you sure?") == true) { 
     x = "You pressed OK!"; 
    } else { 
     x = "You pressed Cancel!"; 
    } 
    return x; 
} 
myFunction(); 
Cuestiones relacionadas