Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   FAQs JavaScript (http://www.forosdelweb.com/f13/faqs-javascript-105325/)

Kaopectate 01/12/2002 16:24

FAQs JavaScript
 
Nos hemos mudado. Ahora encuentras el FAQ en:
http://www.forosdelweb.com/wiki/Javascript

Indice temático
--------

Cita:

Importante! Este tema es sólo para agregar respuestas concretas a preguntas frecuentes.
Este tema no es para realizar preguntas. Si tienes una pregunta respecto a alguna FAQ de este tema, por favor, plantéala en un nuevo tema indicando el número de FAQ sobre la cual quieres realizar la consulta.

Los mensajes insertados que sean para realizar una pregunta algo dentro de este tema serán eliminados sin aviso al autor

Las FAQ añadidas que no tengan que ver con javascript también serán eliminadas sin aviso al autor
¿Como puedo agragar un FAQ a la lista?

http://www.tunait.com/fdw/FAQ-0.gif

Paso 1: Pon en el título de tu respuesta el número que corresponde, seguido de un título corto a ser usado en el índice.

Paso 2: Escribe "P:" en negritas (bold) antes de la pregunta.

Paso 3: Escribe una pregunta cuya respuesta sea la FAQ que vas a publicar.

Paso 4: Escribe "R:" en negritas (bold) antes de tu respuesta.

Paso 5: Escribe tu aporte.

Si tu mensaje proviene de otra persona o página, es importante que añadas los créditos correspondientes antes de la respuesta. Para ello puedes usar un título en negritas como el que sigue:

Créditos: Kaopectate





Un resumen de todos los temas publicados lo puedes encontrar en nuestro Indice Temático.

Normas de uso:
- El código correspondiente a la respuesta debe estar escrito dentro del mismo mensaje.

Kaopectate 01/12/2002 16:28

1.- Selects
 
P: ¿Como puedo hacer para que al cambiar la opción seleccionada en un combo, cambien también las opciones disponibles en otro combo?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
title>
   
FAQ-1Selects
  
</title>
  <
script language="JavaScript">

   function 
addOpt(oCntrliPossTxtsVal){
     var 
selOpcion=new Option(sTxtsVal);
     eval(
oCntrl.options[iPos]=selOpcion);
   }

   function 
cambia(oCntrl){
    while (
oCntrl.lengthoCntrl.remove(0);
    switch (
document.frm.pais.selectedIndex){
     case 
0
      
addOpt(oCntrl,  0"Ciudad de México""0");
      
addOpt(oCntrl,  1"Monterrey""1");
      
addOpt(oCntrl,  2"Guadalajara""2");
      break;
     case 
1
      
addOpt(oCntrl,  0"Madrid""0");
      
addOpt(oCntrl,  1"Barcelona""1");
      
addOpt(oCntrl,  2"San Sebastián""2");
      break;
     case 
2
      
addOpt(oCntrl,  0"Caracas""0");
      
addOpt(oCntrl,  1"Coro""1");
      
addOpt(oCntrl,  2"Maracay""2");
      
addOpt(oCntrl,  3"Valencia""3");
      break;
    }
   }
  
</script>
 </head>
 <body>
  <script language="JavaScript">
   var w = 400;
   var h = 150;
   resizeTo(w, h);
   moveTo((screen.width - w)/ 2, (screen.height - h)/ 2);
  </script>
  <form name="frm">
   <table border="0">
    <tr>
     <td>
      Pais
     </td>
     <td>
      <select name="pais" onchange="cambia(document.frm.ciudad)">
       <option value="Mex">Mexico</option>
       <option value="Esp">España</option>
       <option value="Ven">Venezuela</option>
      </select>
     </td>
     <td>
      &nbsp;
     </td>
     <td>
      Ciudad
     </td>
     <td>
      <select name="ciudad">
       <option value="0">Ciudad de México</option>
       <option value="1">Monterrey</option>
       <option value="2">Guadalajara</option>
      </select>
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 


Kaopectate 01/12/2002 16:29

2.- Radio buttons
 
P: ¿Como puedo conocer el valor del radiobutton seleccionado?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   var 
valor 0;

   function 
actualizaValor(oRad){
    
valor oRad.value;
   }

   function 
leeValor(){
    
with (document.frm)
     
res.value valor;
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <table border="0">
    <tr>
     <td>
      <input type="radio" name="rad" value="1" onclick="actualizaValor(this)">Valor uno
     </td>
     <td>
      <input type="radio" name="rad" value="2" onclick="actualizaValor(this)">Valor dos
     </td>
    </tr>
    <tr>
     <td>
      <input type="text" name="res">
     </td>
     <td>
      <input type="button" name="leer" value="Dime valor" onclick="leeValor()">
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 


Kaopectate 01/12/2002 16:30

3.- Deshabilitar
 
P: ¿Como puedo deshabilitar un elemento a partir del valor de otro?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
 </
head>
 <
body>
  <
form name="frm">
   
Seleccione
   <
select name="sel">
    <
option value="1">Uno</option>
    <
option value="2">Dos</option>
    <
option value="3">Tres</option>
   </
select><br>
   <
input type="checkbox" name="chk" checked onclick="JavaScript:document.frm.sel.disabled = !this.checked">Habilitar selección
  
</form>
 </
body>
</
html


Kaopectate 01/12/2002 16:31

4.- Botón derecho
 
P: ¿Como puedo deshabilitar el uso del botón derecho dentro de mi página?

R: [ver ejemplo]

La siguiente solución fué tomada originalmente por kitipaloco de DynamicDrive.com y probada por el equipo de contestones del Foro de JavaScript con los siguientes resultados:

Funciona bajo:
- Internet Explorer 5.0, 6.0
- Netscape 6.2, 7.0
- Mozilla 1.3a

No funciona bajo:
- Opera 6.01

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   
//Disable right click script III- By Renigade (renigade@mediaone.net)
   //For full source code, visit [url]http://www.dynamicdrive.com[/url]
   
var message "";

   function 
clickIE(){
    if (
document.all){
     (
message);
     return 
false;
    }
   }

   function 
clickNS(e){
    if (
document.layers || (document.getElementById && !document.all)){
     if (
e.which == || e.which == 3){
      (
message);
      return 
false;
     }
    }
   }

   if (
document.layers){
    
document.captureEvents(Event.MOUSEDOWN);
    
document.onmousedown clickNS;
   } else {
    
document.onmouseup clickNS;
    
document.oncontextmenu clickIE;
   }
   
document.oncontextmenu = new Function("return false")
  
</script>
 </head>
 <body>
  Script para eliminar el botón derecho.
 </body>
</html> 

Cualquier comentario, modificación o reporte de funcionamiento adicional, favor hacerlo en esta dirección.

Kaopectate 01/12/2002 16:33

5.- Pase de parámetros
 
P: ¿Como puedo pasar parámetros entre dos páginas usando JavaScript?

R: [ver ejemplo]

Programa principal (principal.htm)
Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
disparaPopUp(str){
    
open("popup.htm?Prm=" str);
   }
  
</script>
 </head>
 <body>
  <form name="formulario">
   Valor a ser transmitido:<input type="text" name="texto">
   <input type="button" name="boton" value="Transmitir" onclick="disparaPopUp(document.formulario.texto.value)">
  </form>
 </body>
</html> 


Página popUp que recibe parámetros (popup.htm)
Código PHP:

<html>
 <
head>
  <
script languaje="JavaScript">

   var 
parmetro// Nombre de la variable que va a recibir el valor

   
function valParam(urlprmName){ 
    var 
prmUpper prmName.toUpperCase();
    var 
prmPosic url.indexOf(prmUpper);
    var 
sepPos;
    if (
prmPosic != -1){
     var 
sepPos url.indexOf("&"prmPosic);
     if (
sepPos != -1){
      return 
url.substring(prmPosic prmUpper.length 1sepPos);
     } else {
      return 
url.substring(prmPosic prmUpper.length 1url.length);
     }
    } else {
     return 
"";
    }
   }

   function 
getParameters(){
    var 
remplaza = /+/gi
    var 
url window.location.href;
    var 
variable;
    
url unescape(url);
    
url url.replace(remplaza" ");
    
url url.toUpperCase();
    
parametro valParam(url"Prm"); // Lectura y asignación del valor
   
}

   function 
muestra(){
    
document.frm.parm.value parametro;
   }

  
</script>
 </head>
 <body onload="getParameters()">
  <form name="frm">
   <input type="text" name="parm">
   <input type="button" value="Leer parámetro" onclick="muestra()">
  </form>
 </body>
</html> 


Kaopectate 01/12/2002 16:35

6.- Ventana maximizada
 
P: ¿Como puedo abrir una ventana maximizada?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
amplia(){
    
resizeTo(screen.widthscreen.height)
    
moveTo(00);
   }
  
</script>
 </head>
 <body onload="amplia()">
  <h1>
   Tamaño máximo
  </h1>
 </body>
</html> 


Kaopectate 01/12/2002 16:35

7.- PopUps
 
P: ¿Como puedo abrir una ventana PopUp sin toolbar, sin menubar, sin navegación y sin estatus?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
abrirVentana() {
    
open("popUp.htm","miVentana""toolbar=no,directories=no,menubar=no,status=no");
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <input type="button" name="boton" value="PopUp" onClick="abrirVentana()">
  </form>
 </body>
</html> 


Cain 01/12/2002 17:14

8.- Proteger imágenes
 
P: ¿Cómo puedo proteger las imagenes de mi web para que nadie las pueda guardad?

R:

No se puede.

Puedes usar muchos trucos para que parezca más difícil guardarse las imágenes (deshabilitar el botón derecho, esconder menús, imposibilitar "Ver código fuente"...) pero NUNCA lograrás idear un sistema que impida que cualquier usuario pueda "robar" tus imágenes si se lo propone.

No es necesario ser ningún genio para saltarse cualquier protección de Javascript, basta con usar un navegador con Javascript deshabilitado.

chivi 01/12/2002 17:17

9.- Cambiar el color de una celda
 
P: ¿Cómo puedo cambiar el color de una celda al pasar el ratón?

R:
Código PHP:

<table border=0 cellpadding=0 cellspacing=0>
<
tr>
<
td onmouseover='this.style.background="[COLOR=orangered]red[/COLOR]"' onmouseout='this.style.background="[COLOR=orangered]white[/COLOR]"'>
Texto de la celda
</td>
</
tr>
</
table


Onmouseover significa cuando el ratón está encima del elemento, y onmouseout, significa cuando deja de estarlo.
Lo que está en Rojo Claro, son los colores de los que formará parte el fondo de la celda. En éste caso, Red y White, (Rojo y Blanco). Pueden ser también de tipo hexadecimal, #FFFFFF.

chivi 01/12/2002 17:57

11.- Fecha y Hora
 
P: ¿Cómo puedo mostrar la Fecha y la Hora actual?

R:
Código PHP:

<html
<
head
<
script language="JavaScript">
/*
Fecha y Hora By Chivi
*/

/* Coeminza el script del Reloj */

function actualizaReloj(){ 

/* Capturamos la Hora, los minutos y los segundos */
marcacion = new Date() 

/* Capturamos la Hora */
Hora marcacion.getHours() 

/* Capturamos los Minutos */
Minutos marcacion.getMinutes() 

/* Capturamos los Segundos */
Segundos marcacion.getSeconds() 

/* Si la Hora, los Minutos o los Segundos
Son Menores o igual a 9, le añadimos un 0 */

if (Hora<=9)
Hora "0" Hora

if (Minutos<=9)
Minutos "0" Minutos

if (Segundos<=9)
Segundos "0" Segundos

/* Termina el Script del Reloj */


/* Coemienza eñ Script de la Fecha */

var Dia = new Array("Domingo""Lunes""Martes""Miércoles""Jueves""Viernes""Sábado""Domingo");
var 
Mes = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
var 
Hoy = new Date();
var 
Anio Hoy.getFullYear();
var 
Fecha "Hoy es " Dia[Hoy.getDay()] + ", " Hoy.getDate() + " de " Mes[Hoy.getMonth()] + " de " Anio ", a las ";

/* Termina el script de la Fecha */


/* Creamos 4 variables para darle formato a nuestro Script */
var InicioScript, Final, Total

/*En Inicio le indicamos un color de fuente  y un tamaño */
Inicio "<font size=3 color=red>"

/* En Reloj le indicamos la Hora, los Minutos y los Segundos */
Script Fecha Hora ":" Minutos ":" Segundos

/* En final cerramos el tag de la fuente */
Final = "</font>"

/* En total Finalizamos el Reloj uniendo las variables */
Total Inicio Script + Final

/* Capturamos una celda para mostrar el Reloj */
document.getElementById('Fecha_Reloj').innerHTML Total

/* Indicamos que nos refresque el Reloj cada 1 segundo */
setTimeout("actualizaReloj()",1000
}
</script>

<body onload="actualizaReloj()">
Aquí mostramos la Fecha y la hora:
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td id="Fecha_Reloj"></td>
</tr>
</table>
</body>
</html> 


Kaopectate 01/12/2002 18:10

12.- Control de caracteres
 
P: ¿Como puedo contar el número de caracteres escritos en un area de texto de un formulario?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">

   var 
primeraVez true;

   function 
limpia(){
    if (
primeraVez){
     
document.formulario.mensaje.value "";
     
primeraVez false;
    }
   }

   function 
cuenta(){
    
document.formulario.total.value document.formulario.mensaje.value.length;
   }

  
</script>
 </head>
 <body>
  <form name="formulario">
   <textarea name="mensaje" onfocus="limpia()" onKeyUp="cuenta()" rows="10" cols="50">
   </textarea>
   <input type="text" name="total" size="5" maxlength="3" disabled> Caracteres
  </form>
 </body>
</html> 


Kaopectate 01/12/2002 18:12

13.- Validación de fechas
 
P: ¿Como puedo validar una o mas fechas escritas en elementos TEXT?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">

   function 
esDigito(sChr){
    var 
sCod sChr.charCodeAt(0);
    return ((
sCod 47) && (sCod 58));
   }

   function 
valSep(oTxt){
    var 
bOk false;
    var 
sep1 oTxt.value.charAt(2);
    var 
sep2 oTxt.value.charAt(5);
    
bOk bOk || ((sep1 == "-") && (sep2 == "-"));
    
bOk bOk || ((sep1 == "/") && (sep2 == "/"));
    return 
bOk;
   }

   function 
finMes(oTxt){
    var 
nMes parseInt(oTxt.value.substr(32), 10);
    var 
nAno parseInt(oTxt.value.substr(6), 10);
    var 
nRes 0;
    switch (
nMes){
     case 
1nRes 31; break;
     case 
2nRes 28; break;
     case 
3nRes 31; break;
     case 
4nRes 30; break;
     case 
5nRes 31; break;
     case 
6nRes 30; break;
     case 
7nRes 31; break;
     case 
8nRes 31; break;
     case 
9nRes 30; break;
     case 
10nRes 31; break;
     case 
11nRes 30; break;
     case 
12nRes 31; break;
    }
    return 
nRes + (((nMes == 2) && (nAno 4) == 0)? 10);
   }

   function 
valDia(oTxt){
    var 
bOk false;
    var 
nDia parseInt(oTxt.value.substr(02), 10);
    
bOk bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
    return 
bOk;
   }

   function 
valMes(oTxt){
    var 
bOk false;
    var 
nMes parseInt(oTxt.value.substr(32), 10);
    
bOk bOk || ((nMes >= 1) && (nMes <= 12));
    return 
bOk;
   }

   function 
valAno(oTxt){
    var 
bOk true;
    var 
nAno oTxt.value.substr(6);
    
bOk bOk && ((nAno.length == 2) || (nAno.length == 4));
    if (
bOk){
     for (var 
0nAno.lengthi++){
      
bOk bOk && esDigito(nAno.charAt(i));
     }
    }
    return 
bOk;
   }

   function 
valFecha(oTxt){
    var 
bOk true;
    if (
oTxt.value != ""){
     
bOk bOk && (valAno(oTxt));
     
bOk bOk && (valMes(oTxt));
     
bOk bOk && (valDia(oTxt));
     
bOk bOk && (valSep(oTxt));
     if (!
bOk){
      
alert("Fecha inválida");
      
oTxt.value "";
      
oTxt.focus();
     } else 
alert("Fecha correcta");
    }
   }

  
</script>
 </head>
 <body>
  <form name="frm">
   Escriba fecha (dd/mm/aaaa): 
   <input type="text" size="10" name="fec">
   <br>
   <input type="button" value="Validar" 

onclick="valFecha(document.frm.fec)">
  </form>
 </body>
</html> 


Kaopectate 01/12/2002 18:13

14.- Resta de horas
 
P: ¿Como puedo obtener la resta de dos horas almacenadas en elementos TEXT?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">

   function 
padNmb(nStrnLen){
    var 
sRes String(nStr);
    var 
sCeros "0000000000";
    return 
sCeros.substr(0nLen sRes.length) + sRes;
   }

   function 
stringToSeconds(tiempo){
    var 
sep1 tiempo.indexOf(":");
    var 
sep2 tiempo.lastIndexOf(":");
    var 
hor tiempo.substr(0sep1);
    var 
min tiempo.substr(sep1 1sep2 sep1 1);
    var 
sec tiempo.substr(sep2 1);
    return (
Number(sec) + (Number(min) * 60) + (Number(hor) * 3600));
   }

   function 
secondsToTime(secs){
    var 
hor Math.floor(secs 3600);
    var 
min Math.floor((secs - (hor 3600)) / 60);
    var 
sec secs - (hor 3600) - (min 60);
    return 
padNmb(hor2) + ":" padNmb(min2) + ":" padNmb(sec2);
   }

   function 
substractTimes(t1t2){
    var 
secs1 stringToSeconds(t1);
    var 
secs2 stringToSeconds(t2);
    var 
secsDif secs1 secs2;
    return 
secondsToTime(secsDif);
   }

   function 
calcT3(){
    
with (document.frm)
     
t3.value substractTimes(t1.valuet2.value);
   }

  
</script>
 </head>
 <body>
  <form name="frm">
   Hora1 (hh:mm:ss): <input type="text" name="t1" value="12:30:15"><br>
   Hora2 (hh:mm:ss): <input type="text" name="t2" value="3:40:18"><br>
   <hr>
   Resta (hh:mm:ss): <input type="text" name="t3" value=""><br><br>
   <input type="button" onclick="calcT3()" value="Restar">
  </form>
 </body>
</html> 


Kaopectate 01/12/2002 18:14

15.- Campos no vacíos
 
P: ¿Como puedo validar que varios campos de texto no estén vacíos?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
noVacio() {
    var 
i;
    var 
parseInt(document.frm.cantidad.value);
    var 
bError false;

    for (
0ni++){
     
bError bError || (eval("document.frm.elemento" ".value == ''"));
     if (
bError){
      
alert("Campo inválido");
      eval(
"document.frm.elemento" ".focus()");
      break;
     }
    }
    if (!
bErroralert("Ok");
   }

  
</script>
 </head>
 <body>
  <form name="frm">
   <input type="text" name="elemento0"><br>
   <input type="text" name="elemento1"><br>
   <input type="text" name="elemento2"><br>
   <input type="hidden" name="cantidad" value="3">
   <input type="button" name="enviar" value="enviar" onclick="noVacio()">
  </form>
 </body>
</html> 


chivi 01/12/2002 19:49

16.- Página de Inicio
 
P: ¿Cómo puedo hacer que agreguen mi sitio web, como su página de Inicio?

R:
Código PHP:

<html>
<
head>
<
script language="JavaScript">
<!--
function 
Pagina_Inicio() 

obj_Pagina_Inicio.style.behavior='url(#default#homepage)';
obj_Pagina_Inicio.setHomePage("[COLOR=orangered][U]http://www.tu_sitio.com[/U][/COLOR][U][/U]");

//-->
</script>
</head>
<body>
<IE:HOMEPAGE ID="obj_Pagina_Inicio"/>
<a href="javascript:Pagina_Inicio();">Convierte [COLOR=orangered][U]Tu Sitio Web[/U][/COLOR] en tu página de Inicio</a> 

Únicamente debes cambiar los contenidos con Color Rojo Anaranjado o Subrayado

chivi 01/12/2002 20:01

17.- Agregar a Favoritos
 
P: ¿Cómo puedo hacer que agreguen mi sitio web a sus Favoritos?

R:
Código PHP:

<html>
<
head>
<
script language="JavaScript1.2">
var 
url="http://www.tu_sitio.com" 
var titulo="Tu Sitio Web"
function agregar(){
if (
document.all)
window.external.AddFavorite(url,titulo)
}
</script>
</head>
<body>
<script>
if (document.all)
document.write('<a href="javascript:agregar()">Agregar a Favoritos</a>')
</script>
</body>
</html> 

A pesar de ese pequeño código, se puede simplificar poniéndolo únicamente en el Tag del Body: <a href="javascript:window.external.AddFavorite('http ://www.tu_sitio.com', 'Tu Sitio Web')">Agregar a Favoritos</a> .
¿Cuál es la diferencia? Pues el que os puse al principio, es para evitarnos cualquier posible error con Navegadores distintos al Internet Explorer. Es el que os recomiendo poner.

chivi 01/12/2002 21:08

18.- Barra de Estado
 
P: ¿Cómo puedo poner un mensaje en la Barra de Estado al pasar sobre un enlace?

R:
Código PHP:

<a href="indice.htm" onmouseover="status='Ir al Índice'; return true" onmouseout="status=''">Home</a

Éste es uno de los más facilitos

chivi 01/12/2002 21:20

19.- Alerta de Confrimación
 
P: ¿Se puede crear una alerta con opciones de Ok y Cancelar?

R:
Código PHP:

<html>
<
head>
<
script language="Javascript">
function 
preguntar(){
confirmar=confirm("¿Eres mayor de edad?");
if (
confirmar)
//Aquí pones lo que quieras si da a Aceptar
alert('Diste a Aceptar')
else
//Aquí pones lo que quieras Cancelar
alert('Diste a Cancelar')
}
</script>
</head> 
<body>
<a href="java script:preguntar()">Cuidao que muerdo</a>
</body>
</html> 


Kaopectate 01/12/2002 21:44

20.- Validar un rango de fechas
 
P: ¿Como puedo validar un rango de fechas para que ambos valores sean no vacíos, válidos, y la fecha hasta sea mayor o igual que la fecha desde?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">

   function 
esDigito(sChr){
    var 
sCod sChr.charCodeAt(0);
    return ((
sCod 47) && (sCod 58));
   }

   function 
valSep(oTxt){
    var 
bOk false;
    
bOk bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
    
bOk bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
    return 
bOk;
   }

   function 
finMes(oTxt){
    var 
nMes parseInt(oTxt.value.substr(32), 10);
    var 
nAno parseInt(oTxt.value.substr(6), 10);
    var 
nRes 0;
    switch (
nMes){
     case 
1nRes 31; break;
     case 
2nRes 28; break;
     case 
3nRes 31; break;
     case 
4nRes 30; break;
     case 
5nRes 31; break;
     case 
6nRes 30; break;
     case 
7nRes 31; break;
     case 
8nRes 31; break;
     case 
9nRes 30; break;
     case 
10nRes 31; break;
     case 
11nRes 30; break;
     case 
12nRes 31; break;
    }
    return 
nRes + (((nMes == 2) && (nAno 4) == 0)? 10);
   }

   function 
valDia(oTxt){
    var 
bOk false;
    var 
nDia parseInt(oTxt.value.substr(02), 10);
    
bOk bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
    return 
bOk;
   }

   function 
valMes(oTxt){
    var 
bOk false;
    var 
nMes parseInt(oTxt.value.substr(32), 10);
    
bOk bOk || ((nMes >= 1) && (nMes <= 12));
    return 
bOk;
   }

   function 
valAno(oTxt){
    var 
bOk true;
    var 
nAno oTxt.value.substr(6);
    
bOk bOk && ((nAno.length == 2) || (nAno.length == 4));
    if (
bOk){
     for (var 
0nAno.lengthi++){
      
bOk bOk && esDigito(nAno.charAt(i));
     }
    }
    return 
bOk;
   }

   function 
valFecha(oTxt){
    var 
bOk true;
    if (
oTxt.value != ""){
     
bOk bOk && (valAno(oTxt));
     
bOk bOk && (valMes(oTxt));
     
bOk bOk && (valDia(oTxt));
     
bOk bOk && (valSep(oTxt));
     return 
bOk;
    }
   }

   function 
fechaMayorOIgualQue(fec0fec1){
    var 
bRes false;
    var 
sDia0 fec0.value.substr(02);
    var 
sMes0 fec0.value.substr(32);
    var 
sAno0 fec0.value.substr(64);
    var 
sDia1 fec1.value.substr(02);
    var 
sMes1 fec1.value.substr(32);
    var 
sAno1 fec1.value.substr(64);
    if (
sAno0 sAno1bRes true;
    else {
     if (
sAno0 == sAno1){
      if (
sMes0 sMes1bRes true;
      else {
       if (
sMes0 == sMes1)
        if (
sDia0 >= sDia1bRes true;
      }
     }
    }
    return 
bRes;
   }

   function 
valFechas(){
    var 
bOk false;
    if (
valFecha(document.f1.fec0)){
     if (
valFecha(document.f1.fec1)){
      if (
fechaMayorOIgualQue(document.f1.fec1document.f1.fec0)){
       
bOk true;
       
alert("Ok");
      } else {
       
alert("Rango inválido");
       
document.f1.fec1.focus();
      }
     } else {
      
alert("Fecha inválida");
      
document.f1.fec1.focus();
     }
    } else {
     
alert("Fecha inválida");
     
document.f1.fec0.focus();
    }
   }

  
</script>
 </head>
 <body>
  <form name="f1">
   <table>
    <tr>
     <td align="right">
      Fecha inicial (dd/mm/aaaa): 
     </td>
     <td>
      <input type="text" size="10" name="fec0">
     </td>
    </tr>
    <tr>
     <td align="right">
      Fecha final (dd/mm/aaaa): 
     </td>
     <td>
      <input type="text" size="10" name="fec1">
     </td>
    </tr>
    <tr>
     <td colspan="2" align="center">
      <input type="button" name="val" value="Validar" onclick="valFechas()">
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 



La zona horaria es GMT -6. Ahora son las 00:40.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.