Foros del Web » Programando para Internet » Javascript »

Problema al Deshabilitar Boton en Formulario

Estas en el tema de Problema al Deshabilitar Boton en Formulario en el foro de Javascript en Foros del Web. engo un pequeño problema, a traves de un Se hacen solicitudes de información, ahora, a veces la gente le da varias veces al boton y ...
  #1 (permalink)  
Antiguo 18/01/2006, 08:01
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 3 meses
Puntos: 0
Problema al Deshabilitar Boton en Formulario

engo un pequeño problema, a traves de un

Se hacen solicitudes de información, ahora, a veces la gente le da varias veces al boton y la info lleg duplicada, lo que necesito es que después que verifique que los datos requeridos esten llenos por el usuario se deshabilite dicho boton, como haria en este caso? he probado varios scripts y nada no me funcionan, creo que es por la funcion de verificacion de datos requeridos, si pueden ayudarme en dicho codigo please Riendo

Saludos.
  #2 (permalink)  
Antiguo 18/01/2006, 08:15
 
Fecha de Ingreso: marzo-2005
Mensajes: 57
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola carlosfocus,

Para deshabilitar un botón de un formulario puedes probar con:

xxx.enviar.disabled = true

De todas formas si quieres decirnos el código de lo que te falla podremos ayudarte mucho mejor

Saludos
__________________
Alpa cine - Películas de cine con estrenos de cartelera
Compuntoes - Como es y punto

Última edición por esteno; 08/05/2006 a las 08:05
  #3 (permalink)  
Antiguo 18/01/2006, 08:27
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 3 meses
Puntos: 0
Saludos

el formulario antes de enviarse pasa por una validacion de campos y el codigo es el siguiente

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin

function validate() {

var theMessage = "Please complete the following: \n-----------------------------------\n";
var noErrors = theMessage

// make sure field is not blank
if (document.form.nomb.value=="") {
theMessage = theMessage + "\n --> FIRST NAME";
}

// make sure field is not blank
if (document.form.apellido.value=="") {
theMessage = theMessage + "\n --> LAST NAME";
}

// make sure field is not blank
if (document.form.empresa.value=="") {
theMessage = theMessage + "\n --> COMPANY";
}

// make sure field is not blank
if (document.form.direccion.value=="") {
theMessage = theMessage + "\n --> ADDRESS";
}

// make sure field is not blank
if (document.form.ciudad.value=="") {
theMessage = theMessage + "\n --> CITY";
}

// make sure field is not blank
if (document.form.telf.value=="") {
theMessage = theMessage + "\n --> PHONE";
}

// make sure field is not blank
if (document.form.mail.value=="") {
theMessage = theMessage + "\n --> EMAIL";
}


// validate an e-mail address
if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(document.form.mail.value)){
theMessage = theMessage + "\n --> Enter a valid e-mail address";
}

// If no errors, submit the form
if (theMessage == noErrors) {
return true;

} else {

// If errors were found, show alert message
alert(theMessage);
return false;
}
}
// End -->
</script>
  #4 (permalink)  
Antiguo 18/01/2006, 08:29
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 3 meses
Puntos: 0
Ahora, el codigo del formulario es este

<form action="" method="post" name="form" onSubmit="return validate(this);">
<input name="dep" type="hidden" id="dep" value="Controls" />
<input name="status" type="hidden" id="status" value="0" />
<input name="tipomsg" type="hidden" id="tipomsg" value="Request Info" />
<input type=hidden name=ip value='<?=$REMOTE_ADDR?>'>
<?
$host = gethostbyaddr ($REMOTE_ADDR);
$date = time();
?>
<input type=hidden name=hostname value='<?=$host?>'>
<input name="fecha" type="hidden" id="fecha" value='<?=$date?>' />

<p>&nbsp;</p>
</form>
  #5 (permalink)  
Antiguo 18/01/2006, 08:51
 
Fecha de Ingreso: marzo-2005
Mensajes: 57
Antigüedad: 19 años, 1 mes
Puntos: 0
carlosfocus, te pongo un ejemplo para deshabilitar el botón de enviar al empezar la función javascript y volver a activarlo en el caso de que la comprobación falle.

En el formulario que has puesto todos los campos son ocultos, añado el de enviar para el ejemplo:

Código PHP:
<form action="" method="post" name="form" onSubmit="return validate(this);">
<input name="dep" type="hidden" id="dep" value="Controls" />
<input name="status" type="hidden" id="status" value="0" />
<input name="tipomsg" type="hidden" id="tipomsg" value="Request Info" />
<input type=hidden name=ip value='<?=$REMOTE_ADDR?>'>
<?
$host 
gethostbyaddr ($REMOTE_ADDR);
$date time();
?>
<input type=hidden name=hostname value='<?=$host?>'>
<input name="fecha" type="hidden" id="fecha" value='<?=$date?>' />

<input type="submit" name="enviar" value="Enviar..." />

<p>&nbsp;</p>
</form>
Función javascript:

Código PHP:
<SCRIPT LANGUAGE="JavaScript">
<!-- 
Begin

function validate() {

var 
theMessage "Please complete the following: \n-----------------------------------\n";
var 
noErrors theMessage

document
.form.enviar.disabled true;

// make sure field is not blank
if (document.form.nomb.value=="") {
theMessage theMessage "\n --> FIRST NAME";
}

// make sure field is not blank
if (document.form.apellido.value=="") {
theMessage theMessage "\n --> LAST NAME";
}

// make sure field is not blank
if (document.form.empresa.value=="") {
theMessage theMessage "\n --> COMPANY";
}

// make sure field is not blank
if (document.form.direccion.value=="") {
theMessage theMessage "\n --> ADDRESS";
}

// make sure field is not blank
if (document.form.ciudad.value=="") {
theMessage theMessage "\n --> CITY";
}

// make sure field is not blank
if (document.form.telf.value=="") {
theMessage theMessage "\n --> PHONE";
}

// make sure field is not blank
if (document.form.mail.value=="") {
theMessage theMessage "\n --> EMAIL";
}


// validate an e-mail address
if (!/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,4})+$/.test(document.form.mail.value)){
theMessage theMessage "\n --> Enter a valid e-mail address";
}

// If no errors, submit the form
if (theMessage == noErrors) {
return 
true;

} else {

// If errors were found, show alert message
alert(theMessage);
document.form.enviar.disabled false;
return 
false;
}
}
// End -->
</script> 
Saludos
__________________
Alpa cine - Películas de cine con estrenos de cartelera
Compuntoes - Como es y punto

Última edición por esteno; 08/05/2006 a las 08:04
  #6 (permalink)  
Antiguo 18/01/2006, 09:06
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 3 meses
Puntos: 0
Gracias si me funciona, pero en un 95% ya que la opcion de validar el email se queda como pegada, es decir, coloco el correo correctamente y sigue saliendome el mensaje de que debo colocar uno valido

el boton que yo uso es el siguiente que se me olvido colocartelo

<input name="Submit" type="submit" class="phpForms_btn" id="Submit" style="WIDTH: 30%; BACKGROUND-COLOR: #a2a2a2" value="Send" />

gracias
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 14:40.