Foros del Web » Programando para Internet » Javascript »

Ayuda con dos funciones: validar campos y bloquear algunos input

Estas en el tema de Ayuda con dos funciones: validar campos y bloquear algunos input en el foro de Javascript en Foros del Web. Hola de nuevo.. Estuve buscando códigos en el Foro.. para lograr bloquear algunos INPUT según una opción seleccionada anteriormente en un RADIOBUTTON.. encontré varios.. y ...
  #1 (permalink)  
Antiguo 11/08/2008, 16:00
Avatar de fakulicious  
Fecha de Ingreso: mayo-2008
Ubicación: Mendoza
Mensajes: 140
Antigüedad: 15 años, 11 meses
Puntos: 2
Exclamación Ayuda con dos funciones: validar campos y bloquear algunos input

Hola de nuevo..

Estuve buscando códigos en el Foro.. para lograr bloquear algunos INPUT según una opción seleccionada anteriormente en un RADIOBUTTON.. encontré varios.. y terminé generando el mío.. pero no funciona..

1º: En el bloqueo, solo me bloquea el 1ro de los 3 campos que quiero bloquear.
2º: En la validación, directamente no valida nada.. pero tampoco envía el formulario..

pongo el código entero.. si alguien ve qué errores estoy cometiendo, le agradecería que me diga..

Código HTML:
<html>
<head>
<title>Prueba</title>
<script src="validar.js"></script>
<script language="javascript" type="text/javascript">
function bloquear(form){
	form.actividad.disabled = true;
	form.actividad.value = "";
	
	form.ciuu1.disabled = true;
	form.actividad.value = "";
	
	form.actividad.disabled = true;
	form.ciuu1.value = "";
}
function desbloquear(form){
	form.actividad.disabled = false;
	form.actividad.value = "";
	
	form.ciuu1.disabled = false;
	form.actividad.value = "";
	
	form.actividad.disabled = false;
	form.ciuu1.value = "";
}
function Validar(form){
	if (form.tipo_cliente.value == ""){ 
		alert("Por favor ingrese el Tipo de Cliente"); 
		form.empresa.focus(); 
		return; 
	}
	if (form.tipo_cliente.value == "E"){
		if (form.empresa.value == ""){ 
			alert("Por favor ingrese el Nombre de la Empresa"); 
			form.empresa.focus(); 
			return; 
		}
		if (form.nombre.value == ""){ 
			alert("Por favor ingrese el Nombre del responsable de la Empresa"); 
			form.nombre.focus(); 
			return; 
		}
		if (form.apellido.value == ""){ 
			alert("Por favor ingrese el Apellido del responsable de la Empresa"); 
			form.apellido.focus(); 
			return; 
		}
		if (form.dni_cuit.value == ""){ 
			alert("Por favor ingrese la CUIT de la Empresa"); 
			form.dni_cuit.focus(); 
			return; 
		}
		if (form.actividad.value == ""){ 
			alert("Por favor ingrese la Actividad de la Empresa"); 
			form.actividad.focus(); 
			return; 
		}
		if (form.ciuu1.value == ""){ 
			alert("Por favor ingrese el CIUU Primario de la Empresa"); 
			form.ciuu1.focus(); 
			return; 
		}
		if (form.domicilio.value == ""){ 
			alert("Por favor ingrese el Domicilio de la Empresa"); 
			form.domicilio.focus(); 
			return; 
		}
		if (form.ciudad.value == ""){ 
			alert("Por favor ingrese la Ciudad de la Empresa"); 
			form.ciudad.focus(); 
			return; 
		}
		if (form.cp.value == ""){ 
			alert("Por favor ingrese el Código Postal de la Empresa"); 
			form.cp.focus(); 
			return; 
		}
		if (form.provincia.value == "Seleccionar..."){ 
			alert("Por favor ingrese la Provincia de la Empresa"); 
			form.provincia.focus(); 
			return; 
		}
		if (form.email.value == ""){ 
			alert("Por favor ingrese la Dirección de E-Mail del Responsable de la Empresa"); 
			form.email.focus(); 
			return; 
		}
		if (form.email.value.indexOf('@', 0) == -1 || form.email.value.indexOf('.', 0) == -1){ 
			alert("La Dirección de E-Mail no es válida"); 
			form.email.focus(); 
			return; 
		}
		if (form.tel.value == ""){ 
			alert("Por favor ingrese el Teléfono de la Empresa"); 
			form.tel.focus(); 
			return; 
		}
		if (form.usuario.value == ""){ 
			alert("Por favor ingrese el Nombre de Usuario que desea asignar a este cliente"); 
			form.usuario.focus(); 
			return; 
		}
		if (form.password.value == ""){ 
			alert("Por favor ingrese la Contraseña que desea asignar a este cliente"); 
			form.password.focus(); 
			return; 
		}
		form.submit();
	}
	if (form.tipo_cliente.value == "P"){
		if (form.nombre.value == ""){ 
			alert("Por favor ingrese el Nombre del Cliente"); 
			form.nombre.focus(); 
			return; 
		}
		if (form.apellido.value == ""){ 
			alert("Por favor ingrese el Apellido del Cliente"); 
			form.apellido.focus(); 
			return; 
		}
		if (form.dni_cuit.value == ""){ 
			alert("Por favor ingrese la DNI del Cliente"); 
			form.dni_cui.focus(); 
			return; 
		}
		if (form.domicilio.value == ""){ 
			alert("Por favor ingrese el Domicilio del Cliente"); 
			form.domicilio.focus(); 
			return; 
		}
		if (form.ciudad.value == ""){ 
			alert("Por favor ingrese la Ciudad del Cliente"); 
			form.ciudad.focus(); 
			return; 
		}
		if (form.cp.value == ""){ 
			alert("Por favor ingrese el Código Postal del Cliente"); 
			form.cp.focus(); 
			return; 
		}
		if (form.provincia.value == "Seleccionar..."){ 
			alert("Por favor ingrese la Provincia del Cliente"); 
			form.provincia.focus(); 
			return; 
		}
		if (form.email.value == ""){ 
			alert("Por favor ingrese la Dirección de E-Mail del Cliente"); 
			form.email.focus(); 
			return; 
		}
		if (form.email.value.indexOf('@', 0) == -1 || form.email.value.indexOf('.', 0) == -1){ 
			alert("La Dirección de E-Mail no es válida"); 
			form.email.focus(); 
			return; 
		}
		if (form.tel.value == ""){ 
			alert("Por favor ingrese el Teléfono del Cliente"); 
			form.tel.focus(); 
			return; 
		}
		if (form.usuario.value == ""){ 
			alert("Por favor ingrese el Nombre de Usuario que desea asignar a este cliente"); 
			form.usuario.focus(); 
			return; 
		}
		if (form.password.value == ""){ 
			alert("Por favor ingrese la Contraseña que desea asignar a este cliente"); 
			form.password.focus(); 
			return; 
		}
		form.submit();
	}
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="admin.php?seccion=clientes&amp;mod=nuevo&amp;accion=guardar">
  <p>&nbsp;</p>
  <table width="350" border="0" cellspacing="3" cellpadding="00">
    <tr>
      <td colspan="2" class="subtitulos_inicio">Nuevo Cliente </td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Tipo de Cliente </td>
      <td width="175"><p>
          <input name="tipo_cliente" type="radio" value="P" onclick="bloquear(this.form)" />
        Particular</p>
        <p>
          <input name="tipo_cliente" type="radio" value="E" onclick="desbloquear(this.form)" />
        Empresa</p></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Empresa</td>
      <td width="175"><input name="empresa" type="text" id="empresa" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Nombre</td>
      <td width="175"><input name="nombre" type="text" id="nombre" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Apellido</td>
      <td width="175"><input name="apellido" type="text" id="apellido" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">DNI/CUIT</td>
      <td width="175"><input name="dni_cuit" type="text" id="dni_cuit" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Actividad</td>
      <td width="175"><input name="actividad" type="text" id="actividad" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">CIUU 1 </td>
      <td width="175"><input name="ciuu_1" type="text" id="ciuu_1" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">CIUU 2 </td>
      <td width="175"><input name="ciuu_2" type="text" id="ciuu_2" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Domicilio</td>
      <td width="175"><input name="domicilio" type="text" id="domicilio" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Ciudad</td>
      <td width="175"><input name="ciudad" type="text" id="ciudad" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">C&oacute;digo Postal </td>
      <td width="175"><input name="cp" type="text" id="cp" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Provincia</td>
      <td width="175"><select name="provincia" id="provincia">
        <option selected="selected">Seleccionar...</option>
        <option>Buenos Aires</option>
        <option>Capital Federal</option>
        <option>Catamarca</option>
        <option>Chaco</option>
        <option>Chubut</option>
        <option>Cordoba</option>
        <option>Corrientes</option>
        <option>Entre Rios</option>
        <option>Formosa</option>
        <option>Jujuy</option>
        <option>La Pampa</option>
        <option>La Rioja</option>
        <option>Mendoza</option>
        <option>Misiones</option>
        <option>Neuquen</option>
        <option>Rio Negro</option>
        <option>Salta</option>
        <option>San Juan</option>
        <option>San Luis</option>
        <option>Santa Cruz</option>
        <option>Santa Fe</option>
        <option>Santiago del Estero</option>
        <option>Tierra del Fuego</option>
      </select> </td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Direcci&oacute;n de E-Mail </td>
      <td width="175"><input name="email" type="text" id="email" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Tel&eacute;fono</td>
      <td width="175"><input name="tel" type="text" id="tel" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Fax</td>
      <td width="175"><input name="fax" type="text" id="fax" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Celular</td>
      <td width="175"><input name="cel" type="text" id="cel" /></td>
    </tr>
    <tr>
      <td width="175" class="titulo_input">Observaciones</td>
      <td width="175"><textarea name="observaciones" id="observaciones"></textarea></td>
    </tr>
    <tr>
      <td class="titulo_input">Nombre de Usuario</td>
      <td><input name="usuario" type="text" id="usuario" /></td>
    </tr>
    <tr>
      <td class="titulo_input">Contrase&ntilde;a</td>
      <td><input name="password" type="text" id="password" /></td>
    </tr>
    <tr>
      <td colspan="2" align="center"><input name="guardar" type="button" onclick="Validar(this.form)" id="guardar" value="Guardar" /></td>
    </tr>
  </table>
</form>
</body>
</html> 
Muchas gracias.

Phaq!*
  #2 (permalink)  
Antiguo 12/08/2008, 07:59
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Ayuda con dos funciones: validar campos y bloquear algunos input

Hay varios problemas en el código, para empezar tu bloquear y desbloquear son redundantes, estás bloquenado 'actividad' dos veces. Y segundo que el nombre es ciuu_1 y no ciuu1.

Después, en la validación el problema está en que tipo_cliente es una matriz, entonces deberías especificar el índice. Para cuando ninguno está seleccionado sería:
Código PHP:
if (form.tipo_cliente[0].checked==false&&form.tipo_cliente[1].checked==false){ 
Después, para cuando está seleccionado empresa sería:
Código PHP:
if (form.tipo_cliente[0].checked){ 
Y para cuando está seleccionado cliente:
Código PHP:
if (form.tipo_cliente[1].checked){ 
Y ten en cuenta la idea que te puse en el otro tema, coloca simplemente en una variable si es empresa:
Código PHP:
var cliente ' de la Empresa' 
O para el cliente
Código PHP:
var cliente ' del Cliente' 
Así, podrás poner el código para la comparación una sola vez, y colocas los alert así:
Código PHP:
alert('Por favor ingrese el Nombre' cliente); 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 18:06.