Foros del Web » Programando para Internet » Javascript »

Codigo para cambiar submit segun el boton presionado

Estas en el tema de Codigo para cambiar submit segun el boton presionado en el foro de Javascript en Foros del Web. Gente, Vengo con una duda, se muy poco de java, la aplicacion que estoy haciendo es en PHP pero necesito que en un formulario, dependiendo ...
  #1 (permalink)  
Antiguo 16/11/2012, 13:15
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 13 años, 5 meses
Puntos: 0
Codigo para cambiar submit segun el boton presionado

Gente, Vengo con una duda, se muy poco de java, la aplicacion que estoy haciendo es en PHP pero necesito que en un formulario, dependiendo del boton q se presiona (ver,editar, o borrar) el formulario mande por POST el valor de las variables a diferentes paginas.

Me dijeron que el codigo deberia ser algo similar a esto:

Código:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
     
    <body>
    <script>
    function mifuncion(){
        switch(document.formulario.envio.value)
        {
            case "editar":
              var dir="http://dirdeeditar";
              break;
            case "borrar":
              var dir="http://dirdeborrar";
              break;
            case "ver":
              var dir="http://dirdever";
              break;
        }
        document.formulario.action=dir;
        return true;
    }
    </script>
    <form name="formulario" onsubmit="return mifuncion();" method="post" action="">
    <input type="submit" name="envio" value="editar" />
    <input type="submit" name="envio" value="borrar" />
    <input type="submit" name="envio" value="ver" />
    </form>
    </body>
    </html>
El problema es que si utilizo este codigo cuando presiono cualquier boton me direcciona a una pagina /undefined. Supongo que debe ser un error de definicion de las variables, pero no me doy cuenta. Les agradezco mucho su ayuda!!!
  #2 (permalink)  
Antiguo 16/11/2012, 15:14
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 4 meses
Puntos: 1012
Respuesta: Codigo para cambiar submit segun el boton presionado

fíjate en las diferencias
Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"lang="es" xml:lang="es">
<head>
<meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
<script type="text/javascript">
window.addEventListener('load', fnc, false);

function fnc() {
var but = document.getElementById('botonera').getElementsByT agName('input');
var camp = document.getElementById('controles').getElementsBy TagName('input');
for (var i = 0; i < but.length; i++) {
but[i].addEventListener('click', fnc2, false);
}

for (var i = 0; i < camp.length; i++) {
camp[i].addEventListener('keypress', function() {evitarEnvioEnter(event)}, false);
}
}


function fnc2() {
//según que botón se haya pulsado

switch (this.id) {
case "bt_insertar":

document.frm.action = 'accionsegunboton_insertar.asp';

break;
case "bt_buscar":

document.frm.action = 'accionsegunboton_buscar.asp';

break;
case "bt_eliminar":

document.frm.action = 'accionsegunboton_eliminar.asp';

break;
}
}

function evitarEnvioEnter(ev) {
var keyCode = (ev) ? ev.keyCode : ev.which;
if (keyCode == 13) {
try{
ev.preventDefault();
}catch(e){
ev.returnValue = false;
}
}
}
</script>
</head>
<body>

<form method="post" name="frm" action="pordefecto.asp">
<div id="controles">
<input type="text" value="" name="a[]" id="a" /><br />
<input type="text" value="" name="a[]" id="a2" /><br />
<input type="text" value="" name="b" id="b" /><br />
<input type="text" value="" name="c" id="c" />
</div>
<div id="botonera">
<input type="submit" name="bt_insertar" id="bt_insertar" value="Insertar" />
<input type="submit" name="bt_buscar" id="bt_buscar" value="Buscar" />
<input type="submit" name="bt_eliminar" id="bt_eliminar" value="Eliminar" />
</div>
</form>

</body>
</html>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 16/11/2012, 19:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Codigo para cambiar submit segun el boton presionado

@IsaBelM muchas gracias por ayudarme, la verdad es que no comprendo mucho el codigo, creo que hay cosas extras a lo que necesito como el tema de desactivar el enter y no entiendo bien porque el name de los input. La idea es usar el metodo POST del formulario, por lo que deberia haber el boton es cambiar el action del formulario, ponerle editar.php si presiono editar, o eliminar.php si presiono el boton eliminar y pasar todas las variables de los input que esten dentro del formulario para poder recuperarlas en la pagina destino mediante el array $_POST[''].

Les agradezco si me dan una ultima ayuda para terminar de entenderlo.

Saludos

Etiquetas: formulario, html, input, php, presionado, submit, botones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:48.