En el curso de Javascriptya.com se plantea este ejercicio de formularios:
"Crear un formulario con tres botones con las leyendas "1", "2" y "3". Mostrar un mensaje indicando qué botón se presionó"
Y la solución ofrecida por la misma web es la siguiente:
<script type="text/javascript">
function presion1()
{
alert('Se presionó el botón 1');
}
function presion2()
{
alert('Se presionó el botón 2');
}
function presion3()
{
alert('Se presionó el botón 3');
}
</script>
<form>
<input type="button" onClick="presion1()" value="Boton 1">
<input type="button" onClick="presion2()" value="Boton 2">
<input type="button" onClick="presion3()" value="Boton 3">
</form>
Me quedo un poco desconcertado... ¿hay que crear tantas funciones como botones, no existe otra opción? :huh:
Gracias por la ayuda, un saludo.
<script type="text/javascript">
function presion(a)
{
alert('Se presionó el botón ' + a + '.');
}
</script>
<form>
<input type="button" onClick="presion(1)" value="Boton 1">
<input type="button" onClick="presion(2)" value="Boton 2">
<input type="button" onClick="presion(3)" value="Boton 3">
</form>
Bueno, sería algo así. Tú le pasas un valor a la funcion "function a(valor, valor2, valor3,...){}".
Y luego ya, con el valor, la función hace lo que le mandes. El valor se guardará en la variable que tu le pongas. Ej.
function hola(mensaje){
alert(mensaje);
}
¡Muchas gracias, un saludo! :)
Pues no sé cómo se hace para relacionar la variable "a" del alert con los eventos onClick. Y probar tanteando no funciona en javascript, porque puede darte fallo total cuando sólo te faltaba un paréntesis :(
¡Ayuda, please! :)
A qué te refieres con relacionar? qué mas necesitas hacer' :P
Cita de: Linton en 15 Julio 2013, 18:04 PM
Pues no sé cómo se hace para relacionar la variable "a" del alert con los eventos onClick. Y probar tanteando no funciona en javascript, porque puede darte fallo total cuando sólo te faltaba un paréntesis :(
<input type="button" onClick="presion(1)" value="Boton 1">
El '1' que hay en "presion(1)" es el valor que tendrá 'a'.
Si fuera:
function presion(a, b, c){}
Se podría llamaría con:
onClick="presion(1, hola, true)"
(a=1, b="hola", c="true").
¡Rayos qué pifia, puse presion1() en vez de presion(1)!
Muchas gracias por tu aclaración, un saludo :)
Sigo preguntando... ¿los valores de a sólo pueden ser números o booleanos, no strings?
Gracias, un saludo.
Los valores de "a" pueden ser también string. Para que sea string, pon la string entre comillas simples ( ' ).
Ej.
onClick="presion('hola')"
PD: Perdón por ponerte antes eso mal. Me olvidé d elas comillas.
Aaah qué torpe, tenía que haberlo imaginado :P
¡Muchas gracias! :)