Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/02/2009, 08:44
Avatar de gakutaru
gakutaru
 
Fecha de Ingreso: agosto-2005
Ubicación: frente a mi NtbK
Mensajes: 239
Antigüedad: 18 años, 8 meses
Puntos: 6
Respuesta: campos obligatorios

Holas, lo que te recomiendo es que valides x javascript, ya q si validas x php al retornar se borran las variables, java script las mantiene y no te saca de la pagina
ahora te anexo un formulario que tengo, si lo lees podras deducir como funciona, si copias este codigo a un archivo .html o .php funcionara.
el formulario valida 4 cosas
- q en el rut solo se ingrsen numeros y la letra k
- que no se inserten campos vacios
- que no se inserten letras
- que no se pueda usar la funcion paste o pegar
Código HTML:
<link rel="stylesheet" type="text/css" href="Stylos.css"> 
<form enctype="multipart/form-data" name="formulario" method="post">
<table class="Tabla">
<tr><td colspan="2" class="Titulos"><b>Ingresar Datos Trabajador</b></td></tr>
<tr class="CeldaNormal"><td><b>Rut:</b></td><td><input type="text" name="Rutd" id="falta1" maxlength="15" onChange="this.value=Run(this.value)">* (EJ: 123456789)<span id="falt1"></span></td></tr>
<tr class="CeldaNormal"><td><b>Rol</b></td><td><input type="text" name="Rol" id="falta2" maxlength="15" onKeyPress="return validar(event);" onpaste="return false" onClick="return validar(event);">*<span id="falt2"></span></td></tr>
<tr class="CeldaNormal"><td><b>Nombres</b></td><td><input type="text" name="Nombre" id="falta3" onChange="this.value=nombre(this.value)"  maxlength="100">*<span id="falt3"></span></td></tr>
<tr class="CeldaNormal"><td><b>Apellidos</b></td><td><input type="text" name="Apellido" id="falta4" onChange="this.value=nombre(this.value)" maxlength="100">*<span id="falt4"></span></td></tr>
<tr class="CeldaNormal"><td><b>Permisos Trabajador:</b></td><td><select name="Permisos">
<option value="SFormulario">Solo Formulario</option>
<? include('ListarFavorito.php'); ?>
</select>*</td></tr>
<tr class="CeldaNormal"><td><b>Posicion:</b></td><td><select name="Posicion" id="falta5">
<option value="">Selecione...</option>
<? include('ListarPosicion.php'); ?>
</select>*<span id="falt5"></span></td></tr>
<tr class="CeldaNormal"><td><b>Cargo:</b></td><td><select name="Cargo" id="falta6">
<option value="">Selecione...</option>
<? include('ListarCargo.php'); ?>
</select>*<span id="falt6"></span></td></tr>
<tr class="CeldaNormal"><td><b>Gerencia:</b></td><td><select name="Gerencia" id="falta7">
<option value="">Selecione...</option>
<? include('ListarGerencia.php'); ?>
</select>*<span id="falt7"></span></td></tr>
<tr class="CeldaNormal"><td><b>Unidad:</b></td><td><select name="Unidad" id="falta8">
<option value="">Selecione...</option>
<? include('ListarUnidad.php'); ?>
</select>*<span id="falt8"></span></td></tr>
<tr class="CeldaNormal"><td><b>Imagen </b></td><td><input type="file" name="archivo" id="falta9"><span id="falt9"></span></td></tr>
<tr><td colspan="2"><input type="button" value="Aceptar" onClick="return Validar();" class="clickable" onMouseOver="change(this,'btnFocus')" onMouseOut="change(this,'normBtn')" id="normBtn"><input type="reset" value="Reset" class="clickable" onMouseOver="change(this,'btnFocus')" onMouseOut="change(this,'normBtn')" id="normBtn"></td></tr>
<tr><td colspan="2">* Campos Obligatorios</td></tr>
<tr><td colspan="2">** Dimencion maxima: 200 x 200 px <br> Tamaño maximo imagen : 700kb </td></tr>
</form>
<script>
function change(obj,nid){ //funcion para el css
	obj.id=nid;
}
function Run(string) { //funcion para permitir solos numeros y k
    for (var i=0, output = '', validos="0123456789Kk"; i < string.length; i++){
       if (validos.indexOf(string.charAt(i)) != -1){
          output += string.charAt(i);
		  }//fin if
	}//fin for
    return output;
} //fin fuction
function nombre(string) {
    for (var i=0, output = '', validos="abcdefghijklmnopqrstuvwxyzñABCDEFGHYJKLMNOPQRSTUVWXYZÁáÂâÀàÅåÃãÄäÇçÉéÊêÈèÐðËëÍíÎîÌìÏïÑñÓóÔôÒòÕõÖöŠšÚúÛûÙùÜüÝýÿŸ. "; i<string.length; i++){
       if (validos.indexOf(string.charAt(i)) != -1){
          output += string.charAt(i);
		  }//fin if
	}//fin for
    return output;
} //fin fuction
function Validar(){ //funcion para que no se ingresen campos vacios
var Valida = true;
var i,falta;
for(i=1;i<10;i++){//for para recivir los puntajes
falta=document.getElementById("falta"+i);
if(falta.value == ""){
document.getElementById("falt"+i).innerHTML="<font color='#FF0000'><br><b>Faltan datos</b></font>";
Valida=false;
}//fin if
if(falta.value != ""){
document.getElementById("falt"+i).innerHTML="";
}
}//fin for
if(Valida == true){
document.formulario.action="CrearCuentaSQL.php";
document.formulario.submit();
return Valida;
}//fin if true
else{
return Valida;
}
}//fin valida
function validar(e) { //funcion para solo se ingresen numeros
    tecla = (document.all)?e.keyCode:e.which;
    if (tecla==8) return true;
    patron = /\d/;
    te = String.fromCharCode(tecla);
    return patron.test(te); 
} 
</script>