Comunidad de diseño web y desarrollo en internet online

Conflicto dos botones en un mismo formulario

Citar            
MensajeEscrito el 10 Oct 2012 09:55 pm
Buenos días,
Tengo un formulario con dos botones submit.
Uno es para mandar el propio formulario y el otro es para verificar si un dominio está libre, y claro está integrado dentro del formulario.
Lo que estoy haciendo ahora es un div que contiene un mensaje que dice "Enviando datos..." a modo de loading.

Lo que ocurre es que ese div solo debe mostrarse cuando se pinche en el submit para enviar el formulario, y no en el el submit que verificar si un dominio está libre.

Veámos mi código:

Llamo a la función muestracargador() con un onSubmit:

Código HTML :

<form name='formulario' id='formulario' class="contacto" method='post'  action="javascript: whoisDominio();" target='_self' enctype="multipart/form-data" onSubmit="muestracargador()">


El JS:

Código Javascript :

<script language="JavaScript" type="text/javascript"> 
     function muestracargador()
     { 
     document.getElementById('cargando').style.visibility = "visible";
     } 
    </script> 

Creo que la solución sería nombrar a los botones, por ejemplo name="btn_enviar" y name="btn_verificar", y en el JS introducir un par de IF, de modo que si se pincha en el botón "btn_enviar" será VISIBLE y si se pincha en "btn_verificar" será HIDE

Creo que la cosa iría por ahí, pero desconozco la sintaxis en JS.

Saludos y gracias.

Por carlos_k

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 10 Oct 2012 11:16 pm
de hecho lo q decis esta muy bien, y la sintaxis no es nada distinta de lo que poner en tu funcion muestra cargador

de hecho ni siquiera hace falta condiciones
haces una funcion para cada boton y listo, que cada una llame a la misma cuando se clickee en dicho boton
lo que si el onsubmit poneselo al boton, no al FORM xq sino va a ser imposible que concretes, el onsubmit cada uno a su respectivo boton. saludos.

Por skaterseba

Claber

170 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Oct 2012 11:26 pm
Hola Saket
Pero hay un problema.
Si el onsubmit se lo pongo al botón en lugar de al form, la precarga me saldrá siempre, aunque no se llegue a mandar el formulario.
Ten en cuenta que hay casilla con required, es decir, que si el usuario no las completa se solicita su revisión, y en este caso no se debe mostrar el div con el mensaje de cargando.

Por carlos_k

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 10 Oct 2012 11:38 pm
Un momento, el onsubmit es exclusivo de HTML form, es decir, no se puede poner dentro de un input type='submit' , ¿no?

He probado y no da resultado

Por carlos_k

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 10 Oct 2012 11:58 pm
Lo conseguí, ole mis huevos !


var x = 0;
function muestracargador(x)
{
if(x == 0) {
document.getElementById("cargando").style.visibility="hidden";
}

if(x == 1) {
document.getElementById("cargando").style.visibility="visible";
document.formulario.action = 'enviar.php';
}

if(x == 2) {
document.getElementById("cargando").style.visibility="hidden";
}
}

Por carlos_k

30 de clabLevel



 

chrome

 

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