function reset_form(formulario) { // El formulario var f = formulario; // Bucle sobre todos los elementos del formulario for ( i = 0; i < f.elements.length; i++){ // El campo del formulario var campo = f.elements[i]; // El tipo del campo de formulario if (!campo.type) continue; var tipo = campo.type.toLowerCase(); // Campos textuales if (tipo == "text" || tipo == "textarea") { // Sólo si el campo está habilitado lo reseteamos if (campo.disabled == false) { campo.value = ""; } } // Checkboxes else if(tipo == "checkbox") { if (campo.checked == true) { campo.checked = false; } } // Combos: seleccionamos la primera opción por defecto else if(tipo == "select" || tipo == "select-one" ){ campo.selectedIndex = 0; } // Radio buttons (por ahora no hacemos nada con ellos) else if(tipo == "radio"){ // TODO: Ver qué hacemos con ellos!!! } } // for elements } // reset_form // Devuelve el valor de un campo de formulario function get_value(campo) { // Campos univalor if (campo.value) return campo.value; // Campos multivalor if (campo.selectedIndex){ if (campo.selectedIndex < 0) campo.selectedIndex = 0; return campo[campo.selectedIndex].value; } // Campo desconocido return null; } // get_value // Comprueba si un valor está vacío function is_empty(campo) { // El valor del campo value = get_value(campo); //alert(value); // Si es el valor null if (value == null) return true; // Si es la cadena vacía o sólo tiene espacios //if (value == "" || value.length == 0 || trim(value) == "" || trim(value).length == 0) // return true; if (value == "" || value.length == 0) return true; // Si llega aquí es pq contiene algo return false; } // is_empty // Dice si un campo es de un tipo determinado (p.e. numeric, required,...) function is_type(campo, type) { var className = campo.className; if (!className) { return false; } if (className.indexOf(type) >= 0) { return true; } return false; } // is_type // Comprueba si un campo es válido por defecto (para saltar validaciones) function is_valid(campo){ var is_valid = is_type(campo, "valid"); return is_valid; } // Determina si un campo es obligatorio function is_required(campo) { var is_required = is_type(campo, "required"); return is_required; } // Determina si un campo de formulario debe tener su valor comprendido en un intervalo function is_interval(campo) { var is_interval = is_type(campo, "interval"); return is_interval; } // Determina si un campo es de tipo numérico function is_numeric(campo) { if (is_integer(campo) || is_float(campo)) { return true; } return false; } // Determina si un campo es de tipo integer function is_integer(campo) { var is_integer = is_type(campo, "integer"); return is_integer; } // Determina si un campo es de tipo float function is_float(campo) { var is_float = is_type(campo, "float"); return is_float; } // Determina si un campo puede tener valores negativos function is_unsigned(campo) { var is_unsigned = is_type(campo, "unsigned"); return is_unsigned; } // Determina si un campo es de tipo date function is_date(campo) { var is_date = is_type(campo, "date"); return is_date; } //Determina si un campo es de tipo select function is_select(campo) { var is_select = is_type(campo,"sele") return is_select; }//fin function is_select //Determina si un campo es de tipo checkbox function is_optional(campo){ var is_optional=is_type(campo,"optional") return is_optional; }//fin function is_optional function is_radio(campo) { var is_radio = is_type(campo,"radio") return is_radio; } function is_radio_valid(campo) { var ok=false; i=0; var miradio=document.getElementsByName(campo.name); while ((i 0){ return false; } // Es correcto return true } // Comprueba si un campo contiene un float en su interior function has_float(campo) { // Contiene sólo valores válidos de enteros var valid_chars = "0123456789-."; if (is_unsigned(campo)) valid_chars = "0123456789." // Valor del campo var value = get_value(campo); // Comprobamos cada uno de los dígitos var dots = 0; for (i = 0; i < value.length; i++) { var c = value.charAt(i); if (valid_chars.indexOf(c) < 0) { return false; } if (c == ".") dots++; } // Si puede contener negativos if (!is_unsigned(campo) && value.indexOf("-") > 0){ return false; } // Sólo debe contener un punto decimal if (dots > 1) { return false; } // Es correcto return true } // Función para comprobar los valores del formulario function validate_form_basic(formulario){ // El formulario var f = formulario; // Bucle sobre todos los elementos del formulario var i = 0; //Bucle sobre los checkbox del formulario var j=0; var flag='false'; for (j=0;j max_value ) { var mensaje = "El campo '" + campo.title + "' debe estar comprendido entre " + min_value + " y " + max_value + " (valor capturado:" + value +")"; generarMsje("error",0,mensaje,"msj_ep"); if (campo.value) campo.value = ""; campo.focus(); return false } } } //interval if (is_radio(campo)) { if(!is_radio_valid(campo)) { var mensaje = "Debe seleccionar un elemento del campo "+campo.title; generarMsje("error",0,mensaje,"msj_ep"); campo.focus(); return false; } } } // for elements // Todos los campos son correctos return true; } //validate_form_basic // Gestor de captura de teclas function processKey(e){ var ENTER_KEY = 13; var ESCAPE_KEY = 27; var keypressed = 0; if (e){ keypressed = e.keyCode; // Mozilla } else { keypressed = window.event.keyCode; //IE } // Tecla if (keypressed == ENTER_KEY){ teclaEnter(); return; } // endif // Tecla if (keypressed == ESCAPE_KEY){ teclaEscape(); return; } // endif return; } //processKey