Comunidad de diseño web y desarrollo en internet online

Multiples Actions con un solo boton submit

Citar            
MensajeEscrito el 01 Oct 2013 05:23 pm
Antes que nada buenos días a todos, les queria consultar sobre una duda (creo que es de javascript por eso lo coloque aca,sino pido disculpas) del envío de un formulario.


Quiero enviar a dos actions diferentes el mismo form, pero utilizando un mismo boton submit, se entiende?

Les dejo el código ejemplo para que lo vean:

<script>
function enviar() {
document.forms.formEnviar.action = "www...";
document.forms.formEnviar.target = "_blank";
document.forms.formEnviar.submit();

document.forms.formEnviar.action = "www...";
document.forms.formEnviar.target = "_self";
document.forms.formEnviar.submit();
}
</script>

<form id="formEnviar">
<input type="submit" value="" name="btn" id="btn" onclick = "this.form.submit = enviar();" />
</form>


Me funciona en Firefox y en IE, pero no en chrome ni en Safari. Se que es porque se pisan los actions y no se puede enviar de ésta forma, pero queria saber si alguien conoce una mejor forma, o si le flata algo a éste código.


Desde ya muchas gracias!

Saludos!

Por leandrobtta

1 de clabLevel



Genero:Masculino  

Web Applications Programmer

firefox
Citar            
MensajeEscrito el 01 Oct 2013 07:42 pm
Hola leandrobtta, te dejo el codigo para lo que nesecitas.

Código HTML :

<form id="formEnviar" action= "una_pagina.php" method=post>
<input type="submit" value="" name="btn" id="btn" onclick="return enviar();" />
</form> 


y el codigo JavaScript:

Código Javascript :

function enviar() {
document.forms.formEnviar.action = "www...";
document.forms.formEnviar.target = "_blank";
document.forms.formEnviar.submit();

document.forms.formEnviar.action = "www...";
document.forms.formEnviar.target = "_self";
document.forms.formEnviar.submit(); 

return true;
}


Saludos!

Por alejandroC

34 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Oct 2013 07:48 pm
Intenta primero con el código que te mostré la primera ves, si no te sigue funcionando cambia el código javascript por este:

Código Javascript :

function enviar() {

document.formEnviar.action = "www...";
document.formEnviar.target = "_blank";
document.formEnviar.submit();

document.formEnviar.action = "www...";
document.formEnviar.target = "_self";
document.formEnviar.submit(); 

return true;

}


Saludos!

Por alejandroC

34 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Oct 2013 08:07 pm
AlejandroC, antes que nada gracias por tu respuesta, probe con los dos y me sigue pasando lo mismo, me funciona bien en Mozilla y IE pero no me funciona en Chrome y Safari, en realidad me lee el último. En este caso el _self


Otra cosa que me parecio muy raro es que probe con mostrar en un iframe , osea en vez de poner _self poner el id de un iframe y ahi me funcionó, osea me abrio el _blank y me abrio el sitio en un iframe...hay alguna forma de que ese iframe me mande el form al otro archivo? porque no me sirve que se imprima en la misma página :s ...



alejandroC escribió:

Intenta primero con el código que te mostré la primera ves, si no te sigue funcionando cambia el código javascript por este:

Código Javascript :

function enviar() {

document.formEnviar.action = "www...";
document.formEnviar.target = "_blank";
document.formEnviar.submit();

document.formEnviar.action = "www...";
document.formEnviar.target = "_self";
document.formEnviar.submit(); 

return true;

}


Saludos!

Por leandrobtta

1 de clabLevel



Genero:Masculino  

Web Applications Programmer

firefox
Citar            
MensajeEscrito el 04 Oct 2013 06:23 pm
Bueno sinceramente yo nunca he tenido el mismo problema ya que nunca había ejecutado dos action en un form, pero en mi opinión si javscript te esta dando problemas con tu script, yo te recomendaría hacer tal script con php, primero guardas todos los campos en variables y los envías a una pagina(un solo action), hay haces lo que estas buscando, quieres que te de un ejemplo de como quedaría tu script con php?

Saludos!

Por alejandroC

34 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Oct 2013 06:35 pm
de hecho algunos navegadores, bloquearian el script ya que se esta enviando informaicon de manera semiautomatica, lo que se considera un tipo de ataque.

Trate de hacer algo similar pero al final de cuentas mejor altere un array() que era procesado por un PHP

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.