Foros del Web » Programando para Internet » Javascript »

submit con doble acción

Estas en el tema de submit con doble acción en el foro de Javascript en Foros del Web. Hola a todos! Soy super novato, espero no hacerlos perder tiempo. Acepto todo tipo de correcciones sobre todo en la terminología empleada. Mi página elemental ...
  #1 (permalink)  
Antiguo 12/12/2007, 10:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 2
Antigüedad: 16 años, 4 meses
Puntos: 0
submit con doble acción

Hola a todos!
Soy super novato, espero no hacerlos perder tiempo.
Acepto todo tipo de correcciones sobre todo en la terminología empleada.
Mi página elemental tiene un botón submit que al clickearlo una vez, envía información al server (una tarjeta externa) y para simplificar digamos que enciende un led.
Yo entiendo que a nivel de un file en el dir el commands.cgi se pueden editar comandos javascript que unos van directo a la pagina y otros via cgi van al servidor el cual dependiendo de lo que le llegue ejecuta su acción pudiendo o no en forma adicional enviar datos a la página producto de su acción.
Bueno, mi problema aparentemente es super sencillo pero para mí no lo es:
Necesito que al clickear el botón del submit no solo actúe en forma normal desarrollando su función (comando cgi al server)sino que además salte un alert (js cliente) necesario para que el usuario sepa que debe esperar un tiempo determinado.
Para que se entienda mejor la instrucción del cgi para el submit es:
<TD><INPUT type=submit value="Toggle port PD6" name=1></TD>

Si modifico pensando que con un click le haga caso a las dos instrucciones cosa que no sucede ensayé:

<TD><INPUT type=submit value="Toggle port PD6" name=1 onClick="Funcion1()"></TD>
y en el head incluí la Funcion 1 que solo consiste en un alert.

En la pagina al hacer el click salta el alert, pero queda anulada la acción que hacía el submit.

Supongo que el server que es php le hace caso solo al submit original y no actúa si se le modifica la instrucción o menos si se le indica además un onCLick.

Como inquietud he pensado tal vez crear no un boton submit sino que remplazar por un button que responda a onCLick para que ejecute una nueva funcion y ésta tendría la de alert que funcionaria sin problemas más la de la enviar los datos que enviaba el submit pero eso no sé como indicarlo.
A ese nivel no necesito crear otro botón menos un submit sino que solo decirle en esta funcón que ejecute lo que hacía con el botón submit pero sin él sino directo en la instrucción js de la función.

Como ven tengo dos caminos pero no sé como tomar ninguno de los dos ni menos si alguno de ellos será el correcto y voy por el camino equivocado tratando de hacer algo que no se puede a este nivel.
Sumamente agradecido por alguien que tenga la paciencia de explicarme que a donde apuntar.
Un saludo!
  #2 (permalink)  
Antiguo 12/12/2007, 10:51
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Re: submit con doble acción

Opcion 1:
pues crea un boton en lugar del submit asi:

<input type="button" onClick="funcion()" value="Enviar" />

Le agregas un ID al formulario para accesarlo via JS, asi:

<form id="formulario" action="action.php">

ahora funcion() seria algo asi:

function funcion(){
alert('Esto demorara un rato...');
var form = document.getElementById('formulario');
form.submit();
}

Option 2:
deja el boton submit, ahora en el formulario has algo asi:

<form action="action.php" onSubmit="funcion()">

ahora en funcion haces algo asi:

function funcion(){
alert('Esto tardara un rato...');
return true;
}

cualquiera de las dos te debe dar el resultado que esperas ;)

have funnnnnnnnnnnnn
  #3 (permalink)  
Antiguo 13/12/2007, 07:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 2
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: submit con doble acción

Gracias por tu excelente respuesta.

Elijo la opción 2 :

<form action="action.php" onSubmit="funcion()">

function funcion(){
alert('Esto tardara un rato...');
return true;
}

Ahora disculpando, pensé en simplificar mi pregunta pero la verdad es que son dos botones submit, uno el name=1, otro el name=0.Sólo me interesa que envíe el alert el name=1.

Ahora lo original del form está de esta forma:

<FORM action=0 method=get>
y los comandos para los dos botones submit:

<TD><INPUT type=submit value="Toggle port PD6" name=1></TD>

<TD><INPUT type=submit value="Toggle STAT led" name=0></TD>

Si procedo de acuerdo a la opcion 2 ambos botones me entregarían el alert supongo, ahora no
sé cuál será la sintaxis para especificar que la action.php y onSubmit="funcion()" sea válida
sólo para el botón submit name=1.
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 01:54.