[JS]Duda sobre función múltiple

Iniciado por Linton, 15 Julio 2013, 14:13 PM

0 Miembros y 1 Visitante están viendo este tema.

Linton

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:

Código (javascript) [Seleccionar]
<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.

ivancea96

Código (javascript) [Seleccionar]

<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.
Código (javascript) [Seleccionar]

function hola(mensaje){
alert(mensaje);
}

Linton

#2
¡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!  :)

1mpuls0

A qué te refieres con relacionar? qué mas necesitas hacer' :P
abc

ivancea96

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  :(

Código (javascript) [Seleccionar]
<input type="button" onClick="presion(1)" value="Boton 1">

El '1' que hay en "presion(1)" es el valor que tendrá 'a'.

Si fuera:
Código (javascript) [Seleccionar]
function presion(a, b, c){}

Se podría llamaría con:
Código (javascript) [Seleccionar]
onClick="presion(1, hola, true)"
(a=1, b="hola", c="true").

Linton

¡Rayos qué pifia, puse presion1() en vez de presion(1)!

Muchas gracias por tu aclaración, un saludo  :)

Linton

Sigo preguntando... ¿los valores de a sólo pueden ser números o booleanos, no strings?

Gracias, un saludo.

ivancea96

#7
Los valores de "a" pueden ser también string. Para que sea string, pon la string entre comillas simples ( ' ).

Ej.
Código (javascript) [Seleccionar]
onClick="presion('hola')"

PD: Perdón por ponerte antes eso mal. Me olvidé d elas comillas.

Linton

Aaah qué torpe, tenía que haberlo imaginado   :P

¡Muchas gracias!  :)