Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2008, 04:29
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 2 meses
Puntos: 126
Ejecutar función según boton pulsado

Hola

Un pequeño ejemplo de lo que quiero realizar

Código PHP:
<html>
<
head>
</
head>
<
body>
<
div id="botonera">
<
input type="button" id="Boton1" name="Boton1" value="Enviar" />
<
input type="button" id="Boton2" name="Boton2" value="Enviar" />
<
input type="button" id="Boton3" name="Boton3" value="Enviar" />
</
div>

<
script type="text/javascript">
function 
evento(elemento,nomevento,funcion)
{
  if (
elemento.attachEvent)
  {
    
elemento.attachEvent('on'+nomevento,funcion);
    return 
true;
  }
  else  
    if (
elemento.addEventListener)
    {
      
elemento.addEventListener(nomevento,funcion,false);
      return 
true;
    }
    else
      return 
false;
}
var 
bot document.getElementById("botonera").getElementsByTagName("input");
for (var 
i=0i<bot.lengthi++) {

      
evento(bot[i], "click", function(){

    if (
this.id "Boton1") {
    
Cambiar1()
    }

    if (
this.id "Boton2") {
    
Cambiar2()
    }

    if (
this.id "Boton3") {
    
Cambiar3()
    }

      });
}

function 
Cambiar1() 
{
document.getElementById("Boton1").value "A";
}

function 
Cambiar2() 
{
document.getElementById("Boton2").value "B";
}

function 
Cambiar3() 
{
document.getElementById("Boton3").value "C";
}

</script>
</body>
</html> 
Tal y como está se ejecutan las 3 funciones (Cambiar1, Cambiar2 y Cambiar3) al cumplirse las condiciones, si lo cambio a

Código PHP:
    if (this.id "Boton1") {
    
Cambiar1()
    }
else 
    if (
this.id "Boton2") {
    
Cambiar2()
    }
else
    if (
this.id "Boton3") {
    
Cambiar3()
    }
else
{
return 
false;

Pulse el botón que pulse, siempre se quedará en la primera condicional. Así que, ¿como ejecuto la función correspondiente al botón que he pulsado?

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />