tipos son sirve qué para los invoca función funciones ejemplos ejemplo cómo cuales comandos javascript html user-interface popup

son - tipos de funciones en javascript



Mostrar ventana emergente de confirmación con JavaScript al hacer clic en un enlace (4)

¿Cómo puedo hacer uno de esos hipervínculos donde, al hacer clic en él, aparecerá una ventana emergente que pregunta "¿estás seguro?"

<INPUT TYPE="Button" NAME="confirm" VALUE="???" onClick="message()">

Ya tengo una función message () funcionando. Solo necesito saber cuál sería el tipo de entrada para un hipervínculo.


<a href="http://somewhere_else" onclick="return confirm()">

Cuando el usuario hace clic en el enlace, se llamará a la función de confirm . Si la función de confirmación devuelve false , se cancela el recorrido del enlace, si se devuelve verdadero, se atraviesa el enlace.


<a href="#" onclick="message(); return false;">???</a>

Esta respuesta estaría bien solo cuando el clic NO necesite navegar al usuario a otra página.


<a href="http://something.com" onclick="return confirmAction()">try to click, I dare you</a>

con la función

function confirmAction(){ var confirmed = confirm("Are you sure? This will remove this entry forever."); return confirmed; }

(También puede devolver la confirmación de inmediato, la separé por razones de legibilidad)

Probado en FF, Chrome e IE


Como Nahom dijo, excepto que pondría la llamada javascript:message() directamente en la parte href (no es necesario entonces onclik).

Nota: dejar la llamada de JavaScript en onClick tiene un beneficio: en el atributo href , puede poner una URL para ir si el usuario no tiene habilitado JavaScript. De esa forma, si tienen JS, se ejecuta su código. Si no lo hacen, van a algún lugar donde se les instruye para habilitarlo (tal vez).

Ahora, su rutina de message no solo debe hacer la pregunta, sino también usar la respuesta: si es positiva, debe llamar a submit () en el formulario para publicar el formulario. Puede pasar this en la llamada para facilitar la obtención del formulario.

Personalmente, elegiría un botón (etiqueta de entrada como se muestra) en lugar de un enlace simple para hacer el proceso: usaría un paradigma más familiar para los usuarios.

[EDITAR] Como prefiero verificar las respuestas que doy, escribí una prueba simple:

<script type="text/javascript" language="JavaScript"> function AskAndSubmit(t) { var answer = confirm("Are you sure you want to do this?"); if (answer) { t.form.submit(); } } </script> <form action="Tests/Test.html" method="GET" name="subscriberAddForm"> <input type="hidden" name="locationId" value="2721"/> <input type="text" name="text" value="3.1415926535897732384"/> <input type="button" name="Confirm" value="Submit this form" onclick="AskAndSubmit(this)"/> </form>

Sí, el envío solo vuelve a cargar la página aquí ... Probado solo en FF3.

[EDITAR] Siguió la sugerencia en los comentarios ... :-)