Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Activar botón según los datos e un formulario

Estas en el tema de Activar botón según los datos e un formulario en el foro de Frameworks JS en Foros del Web. Hola a todos, estoy haciendo un formulario que tiene los siguientes elementos, un text, un select y un textarea. Me gustaría que el el botón ...
  #1 (permalink)  
Antiguo 17/04/2011, 22:11
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 9 meses
Puntos: 3
Pregunta Activar botón según los datos e un formulario

Hola a todos, estoy haciendo un formulario que tiene los siguientes elementos, un text, un select y un textarea. Me gustaría que el el botón para enviar los datos se activara solo cuando los campos cumplan unos requisitos:

Que todos los campos estén rellenados, el select no puede estar en value=0 y que el texarea posea más de 400 caracteres. He cogido un código que encontré en este foro

Código:
<script language="javascript"> 
enviar="";
function activar( formulario,enviar ) {
cont=0;
for (i=0; i < formulario.elements.length; i++) {
 if(formulario.elements[i].value != ""){
  cont=cont+1;
 }
 if(enviar == ""){
 if(formulario.elements[i].type == "submit"){
 enviar=formulario.elements[i].name;
 }
 }
}
if(cont == formulario.elements.length){
 formulario.enviar.disabled = false;
} else {
 formulario.enviar.disabled = true;
} 
}
</script>
Funciona bien, pero el botón se activa si el campo text y el texarea poseen algún caracter, aunque en el campo select no se seleccione ninguna opción.

¿Sabe alguien que debo cambiar?

Un saludo a todos.


Edito: por cierto perdón por postearlo en 'Ajax' cuando debería estar en la sección de Javascript, lo siento no me di cuenta

Última edición por rubiomike; 17/04/2011 a las 22:57 Razón: Pedir perdon por equivocarme de categoria

Etiquetas: ajax, javascript
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 13:16.