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 ([email protected])
   //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> 


Kaopectate 01/12/2002 21:45

21.- CheckBox
 
P: ¿Como puedo comprobar si un checkbox está seleccionado?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
estado(){
    if (
document.frm.chk.checked)
     
alert("Marcado");
    else
     
alert("Desmarcado");
   }
  
</script>
 </head>
 <body>
  <form name="frm" onClick="estado()">
   <input type="checkbox" name="chk">Selector<br>
  </form>
 </body>
</html> 


Kaopectate 01/12/2002 21:46

22.- Resolución de pantalla
 
P: ¿Como puedo redireccionar mi página a otras dependiendo de la resolución del browser del cliente?

R:

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
redireccionar() {
    var 
url640x480 "http://www.tu-sitio.com/640x480";
    var 
url800x600 "http://www.tu-sitio.com/800x600";
    var 
url1024x768 "http://www.tu-sitio.com/1024x768";
    var 
nWdt screen.width;
    var 
nHgh screen.height;
    if ((
nWdt == 640) && (nHgh == 480)) window.location.hrefurl640x480;
    else if ((((
nWdt == 800) && (nHgh == 600)) window.location.hrefurl800x600;
    else if ((
nWdt == 1024) && (nHgh == 768)) window.location.hrefurl1024x768;
    else 
window.location.hrefurl640x480;
   }
  
</script>
 </head>
 <body onLoad="redireccionar()">
 </body>
</html> 


Kaopectate 02/12/2002 08:49

23.- Pantalla "FullScreen"
 
P: ¿Como puedo hacer una página "fullscreen"?

R: [ver ejemplo]

Nota: donde dice "java script" debería decir "JavaScript"
Código PHP:

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

   function 
fullFullScr(){
    var 
vent null;
    
vent window.open('','vVent','fullscreen=yes')
    
llenaVentana(vent);
    
// Para direccionar a una página específica, elimine la linea anterior
    // y utilice la siguiente:
    // vent.location = "miPagina.htm";
   
}

   function 
llenaVentana(vent){
    
with (vent.document){
     
open();
     
write("<html><head></head><body>")
     
write("(Solo funciona sobre IE v.4 o superior)<br>")
     
write("Recuerde colocar un botón para carrar<br><br>")
     
write("<input type='button' value='Cerrar' onclick='JavaScript:window.close()'>")
     
write("</html>")
     
close();
    }
   }

  
</script>
 </head>
 <body>
  <input type="button" value="Abrir FullScreen" onclick="fullFullScr()">
 </body>
</html> 


Kaopectate 02/12/2002 09:17

24.- (TEORIA) Uso de un archivo .js
 
P: ¿Como puedo meter mi codigo en un .js?

R:

Veamos como colocar una función dentro de un .js a través de un ejemplo:

Supongamos que tenemos la siguiente página y que deseamos aislar la función

cerrar() dentro de un archivo llamado librerias.js.

Página original
Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
cerrar(){
    
window.close();
   }
  
</script>
 </head>
 <body>
  <input type="button" value="Abrir FullScreen" onclick="cerrar()">
 </body>
</html> 

Lo primero que debemos hacer es "aislar" el código JavaScript contenido

entre las etiquetas <script> y </script> de la siguiente manera:

librerias.js
Código PHP:

// Nótese que no se debe colocar ningún tag HTML. Ni siquiera <script>.
function cerrar(){
 
window.close();


La página transformada quedaría de la siguiente manera:

Página transformada
Código PHP:

<html>
 <
head>
  <
script language="JavaScript" src="librerias.js">
  
</script>
 </head>
 <body>
  <input type="button" value="Abrir FullScreen" onclick="cerrar()">
 </body>
</html> 

Colocar el código de esta manera tiene las siguientes ventajas:
- Da mayor claridad a la página.
- Ayuda a reutilizar el código.
- Dificulta (no imposibilita) la lectura del código por terceros.

Notas:
- Se pueden incluir tantos archivos .js como se necesiten.
- La inclusión puede estar tanto en el <head> como en el <body>.

Mickel 02/12/2002 09:27

25.- Validación de radio buttons
 
P: Como comprobar si todos los radios buttons de un formulario han sido respondidos

R:
Código PHP:

var el document.(tu formulario).elements;
for (var 
el.length ; ++i) {
    if (
el[i].type == "radio") {
        var 
radiogroup el[el[i].name];
        var 
itemchecked false;
        for (var 
radiogroup.length ; ++j) {
            if (
radiogroup[j].checked) {
            
itemchecked true;
            break;
            }
        }
        if (!
itemchecked) { 
            
i=0;
            break;
        }
    }
}
if (
i>0) {
    return 
true;
} else {
    
alert("No ha respondido todas las preguntas");
    return 
false;



Kaopectate 02/12/2002 09:48

26.- Habilitar un texto según un radiobutton
 
P: ¿Como puedo habilitar o deshabilitar un campo de texto según la opción seleccionada en un radiobutton?

R: [ver ejemplo]

Código PHP:

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

   function 
habilita(){
    
document.frm.txt.disabled false;
   }

   function 
deshabilita(){
    
document.frm.txt.disabled true;
    
document.frm.txt.value "";
   }

  
</script>
 </head>
 <body>
  <form name='frm'>
   <b>Sexo:</b><br>
   <input type="radio" name="rad" value="M" onclick="deshabilita()">
   Masculino<br>
   <input type="radio" name="rad" value="F" onclick="deshabilita()">
   Femenino<br>
   <input type="radio" name="rad" value="O" onclick="habilita()">
   Otro   (Indique cual:
   <input type='text' name='txt' disabled>)
  </form>
 </body>
</html> 


Kaopectate 02/12/2002 10:06

27.- Elementos que aparecen y desaparecen
 
P: ¿Como puedo ocultar o hacer aparecer un campo de texto según la opción seleccionada en un combobox?

R: [ver ejemplo]

Existen varias maneras de hacerlo. Esta es una de ellas:

NOTA: Hace uso de una página en blanco llamada DummyPg.htm la cual solo necesita contener los tags de <html>, <head> y <body>.

Código PHP:

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

   var 
muestraTexto false;

   function 
cambiaSelector(){
    
with (window.pantalla.document){
     
muestraTexto = (frm.selector.selectedIndex == 1truefalse);
    }
    
formulario();
   }

   function 
formulario(){
    
with (window.pantalla.document){
     
open();
     
writeln("<html>\n<body>");
     
writeln("<form name='frm'>");
     
writeln("<select name='selector' onchange='parent.cambiaSelector()'>");
     
writeln(" <option" + (muestraTexto""" selected") + ">Combo solo</option>");
     
writeln(" <option" + (muestraTexto" selected""") + ">Combo y texto</option>");
     
writeln("</select>");
     
writeln("<br>");
     if (
muestraTexto){
      
writeln("<input type='text' name='campoTexto' value='algo'>");
     }
     
writeln("</form>");
     
writeln("</body>\n</html>");
     
close();
    }
   }


   
document.writeln("<frameset rows='100%,*' onload='javascript:parent.formulario()'>");
   
document.writeln("     <frame name='pantalla' src='DummyPage.htm'>");
   
document.writeln("     <frame src=''>");
   
document.writeln("</frameset>");

  
</script>
 </head>
</html> 


Kaopectate 02/12/2002 16:25

28.- Confirmación de datos
 
P: ¿Como puedo presentar una vista preliminar de los datos de mi formulario para que desde ella el usuario envíe o cancele el envío de dicho formulario?

R: [ver ejemplo]

Código PHP:

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

   function 
enviar(){
    
//document.frm2.submit();
    
alert("Documento enviado");
    
history.back();
   }

   function 
regresar(){
    
//document.frm2.submit();
    
history.back();
   }

   function 
confirma(){
    var 
sNmb;
    
sNmb document.frm.nmb.value;
    
sApe document.frm.ape.value;
    
sPrf document.frm.prf.value;
    
with (document){
     
open();
     
write("<html><head>");
     
write(" </head><body><form name='frm2'>");
     
write("   <table border='0'>");
     
write("    <tr>");
     
write("     <td>");
     
write("      Nombre:");
     
write("     </td>");
     
write("     <td width='50' align='right'>");
     
write(sNmb);
     
write("     </td>");
     
write("    </tr>");
     
write("    <tr>");
     
write("     <td>");
     
write("      Apellido:");
     
write("     </td>");
     
write("     <td align='right'>");
     
write(sApe);
     
write("     </td>");
     
write("    </tr>");
     
write("    <tr>");
     
write("     <td>");
     
write("      Profesión:");
     
write("     </td>");
     
write("     <td align='right'>");
     
write(sPrf);
     
write("     </td>");
     
write("    </tr>");
     
write("    <tr>");
     
write("     <td colspan='2' align='center'>");
     
write("      <input type='submit' onclick='JavaScript:alert(" '"' "Documento enviado" '"' ");history.back()' value='Enviar estos valores'>");
     
write("      <input type='button' onclick='JavaScript:history.back()' value='Volver sin enviar'>");
     
write("     </td>");
     
write("    </tr>");
     
write("   </table>");
     
write("</form></body></html>");
     
close();
    }
   }

  
</script>
 </head>
 <body>
  <form name="frm">
   <table border="1">
    <tr>
     <td>
      Nombre:
     </td>
     <td>
      <input type="text" name="nmb">
     </td>
    </tr>
    <tr>
     <td>
      Apellido:
     </td>
     <td>
      <input type="text" name="ape">
     </td>
    </tr>
    <tr>
     <td>
      Profesión:
     </td>
     <td>
      <input type="text" name="prf">
     </td>
    </tr>
    <tr>
     <td colspan="2" align="center">
      <input type="button" onclick="confirma()" value="Enviar">
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 


chivi 02/12/2002 17:48

29.- Habilitar un texto según un radio button 2
 
P: ¿Cómo puedo mostrar un texto(pregunta) tras seleccionar un radio button?

R:
Código PHP:

<html>
<
head>
<
script>
function 
Pregunta1(){
document.getElementById('pregunta').innerHTML "¿Cual es la pregunta 1?<br>"
document.form.texto.value "Respuesta 1"}
function 
Pregunta2(){
document.getElementById('pregunta').innerHTML "¿Cual es la pregunta 2?<br>"
document.form.texto.value "Respuesta 2"}
function 
Pregunta3(){
document.getElementById('pregunta').innerHTML "¿Cual es la pregunta 3?<br>"
document.form.texto.value "Respuesta 3"}
function 
Pregunta4(){
document.getElementById('pregunta').innerHTML "¿Cual es la pregunta 4?<br>"
document.form.texto.value "Respuesta 4"}
</script>
</head>
<body>
<form name=form>
<input type="radio" name="Radio" value="Uno" Onfocus="Pregunta1()">Uno<br>
<input type="radio" name="Radio" value="Dos" Onfocus="Pregunta2()">Dos<br>
<input type="radio" name="Radio" value="Tres" Onfocus="Pregunta3()">Tres<br>
<input type="radio" name="Radio" value="cuatro" Onfocus="Pregunta4()">Cuatro<br>
<table border=0 cellpadding=0 cellspacing=0 width="100%" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td id="pregunta">Seleccione una Opción</td>
</tr>
<tr>
<td><input type="text" name="texto"></td>
</tr>
</table>
</form>
</body>
</html> 


Kaopectate 02/12/2002 18:38

30.- Cerrar una ventana principal sin confirmación
 
P: ¿Como puedo cerrar una ventana principal desde un botón sin que aparezca ningún mensaje de confirmación?

Créditos: Carlitos

Nota: Una versión mas sencilla y compatible con todas las plataformas puede ser encontrada en el FAQ-115.

R: [ver ejemplo]
El siguiente script se basa en una llamada a un OLE Object de Windows, lo que lo hace incompatible con otras plataformas.

Código PHP:

<html>
 <!-- 
Aportado porCarlitos -->
 <
head>
  <
script language="JavaScript">
   function 
salir(){
    
close();
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <input type="button" value="Cerrar con confirmación" onclick="salir()">
   <br>
   <object id="MyControl" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" 
codebase="HHCTRL.ocx#Version=4,72,8252,0" width="100" height="100">
    <PARAM name="Command" value="Close">
    <PARAM name="Button" value="Text:Cerrar sin confirmación">
   </object>
  </form>
 </body>
</html> 


Kaopectate 02/12/2002 18:39

31.- Textbox con botones para formato (tipo ForosDelWeb)
 
P: ¿Como puedo construir con un texarea y algunos botones una pantalla de captura para que los usuarios escriban un texto y puedan insertar comandos para negritas, subrayado, etc. y que dichos comandos se inserten justo en el punto donde esté el cursor?

R: [ver ejemplo]
El siguiente script es un extracto del usado en los ForosDelWeb, en su versión anterior.

Créditos: Tukzone, SirMatrix y UnKnown.

NOTAS: Se debe reemplazar "java script" por "JavaScript" para que funcione.

Se ha reportado que no funciona correctamente en NetScape 4.

Código PHP:

<HTML>
 <
HEAD>
 </
HEAD>
 <
BODY>
  <
SCRIPT language="Javascript" type="text/javascript">

   
// Este genial Script fue desarrollado por Tukzone, SirMatrix y Unknow, 
   // todos usuarios del Foro.. Gracias a ellos por su colaboración

  
function storeCaret(text) { 
   if (
text.createTextRange) {
    
text.caretPos document.selection.createRange().duplicate();
   }
  }

  function 
meter(text) {
   var 
postopic document.PostTopic.Message;
   if (
postopic.createTextRange && postopic.caretPos) {      
    var 
caretPos postopic.caretPos;      
    
caretPos.text caretPos.text.charAt(caretPos.text.length 1) == ' ' 

text ' ' text;
   }
   else 
postopic.value += text;
   
postopic.focus(caretPos)
  }

  function 
codigo(accion) {
   switch(
accion) {
    case 
"url":
     
url prompt("URL de el Enlace""http://");
     if(
url) {
      
url="[ a]"+url+"[ /a]";
      
meter(url);
     }
     break;
    case 
"bold":
     
negras prompt("Texto en Negritas""");
     if(
negras) {
      
negras="[ b]"+negras+"[ /b]";
      
meter(negras);
     }
     break;
    case 
"italics":
     
italics prompt("Texto en Italicas""");
     if(
italics) {
      
italics="[ i]"+italics+"[ /i]";
      
meter(italics);
     }
     break;
    case 
"code":
     
code="[ code]  [ /code]";
     
meter(code);
     break;
    case 
"quote":
     
quote="[ quote]  [ /quote]";
     
meter(quote);
     break;
    default:
     
meter(accion);
     break;
   }
  }

  function 
textCounter(fieldcountfieldmaxlimit) {
   if (
field.value.length maxlimit)
    
field.value field.value.substring(0maxlimit);
   else 
    
countfield.value maxlimit field.value.length;
  }
 
</script>
 <form name="PostTopic">
  Nombre de usuario:
  <INPUT TYPE="text" NAME="UserName" SIZE="12" MAXLENGTH="25" 

VALUE='Kaopectate'> 
  Password:
  <input maxLength="13" name="Password" size="12" type="password" 

VALUE='**********'>
  Mensaje:
  <textarea 

onKeyDown="textCounter(this.form.Message,this.form.remLen,2000);" 

onKeyUp="javascript:storeCaret(this); 

textCounter(this.form.Message,this.form.remLen,2000);" name="Message" 

onchange="javascript:storeCaret(this);" 

onclick="javascript:storeCaret(this);" rows="10" wrap="VIRTUAL" cols="45">
  </textarea>
  <a href="javascript:codigo('url')">Enlace</a> 
  <a href="javascript:codigo('bold')">negrita</a>
  <a href="javascript:codigo('italics')">italica</a> 
  <a href="javascript:codigo('code')">codigo</a>
  <a href="javascript:codigo('quote')">citar</a>
  Tiene
  <input readonly type=text name=remLen size=5 maxlength=3 value="2000">
  caracteres para su mensaje.
 </form>
</BODY>
</HTML> 


Kaopectate 03/12/2002 07:56

32.- Alerts multilínea
 
P: ¿Como puedo incluír un salto de línea dentro de un mensaje de alert?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
mostrar(){
    
alert("Este es un mensaje de alerta\ncon mas de una línea");
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <input type="button" value="Alert multilínea" onclick="mostrar()">
  </form>
 </body>
</html> 


Kaopectate 03/12/2002 10:20

33.- Validar dirección de correo
 
Aportado por joseisrael

P: ¿Cómo valido que el email colocado por el usuario tenga el simbolo de "@" ?

R: [ver ejemplo]

Código PHP:

<HTML>
<
HEAD>
<
TITLE></TITLE
<
SCRIPT LANGUAGE="JavaScript">
function 
validar_email() {
if (
document.formu.EMAIL.value.indexOf('@') == -1)
alert ("Debes colocar una \"Dirección de Email\" válida");
document.formu.EMAIL.focus() //Esto recorna el cursor al campo "Email"
else {
document.formu.submit();
}
}
</SCRIPT>
</HEAD>

<BODY>
<FORM NAME="formu" METHOD="POST" ACTION="Tu.Accion">
Ingresa tu Email: <INPUT NAME="EMAIL" TYPE="text"><BR>
<INPUT type="button" name="ENVIAR" value="Agregar" onClick="JavaScrpit:validar_email();">
</FORM> 


Yanix 03/12/2002 16:19

34. Imprimir sin diálogo de confirmación IE
 
P. ¿Cómo imprimir sin que aparezca la caja de diálogo para seleccionar impresora en IE 5.5?

R.

Código:

<HTML>
<HEAD>
<SCRIPT language="javascript">
function imprimir()
{ if ((navigator.appName == "Netscape")) { window.print() ;
}
else
{ var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(6, -1); WebBrowser1.outerHTML = "";
}
}
</SCRIPT>
</HEAD>
<BODY onload="imprimir();">
Esta es la pagina impresa de prueba!
</BODY>
</HTML>


Kaopectate 04/12/2002 08:10

35.- Screen saver
 
P: ¿Cómo puedo hacer que una vez transcurridos "n" segundos de inactividad en mi página se dispare una rutina de screen saver?

R: [ver ejemplo]

Código PHP:

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

   var 
id 0;
   var 
bEjecutado false;
   var 
nMiliSegundos 5000;

   function 
iddle(){
    if (
bEjecutadowindow.clearTimeout(id);
    
bEjecutado true;
    
id window.setTimeout("screenSaver()"nMiliSegundos);
   }

   function 
screenSaver(){
    
alert("Ponga aqui su método Screen Saver");
   }

  
</script>
 </head>
 <body onload="iddle()" onkeyup="iddle()" onclick="iddle()">
  <form name="frm">
   Este PopUp se autodestruirá en cinco segundos...
  </form>
 </body>
</html> 


Kaopectate 04/12/2002 10:33

36.- Sumar meses a una fecha
 
P: ¿Cómo puedo sumar (o restar) una cantidad de meses a una fecha válida?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
cerosIzq(sValnPos){
    var 
sRes sVal;
    for (var 
sVal.lengthnPosi++)
     
sRes "0" sRes;
    return 
sRes;
   }

   function 
armaFecha(nDianMesnAno){
    var 
sRes cerosIzq(String(nDia), 2);
    
sRes sRes "/" cerosIzq(String(nMes), 2);
    
sRes sRes "/" cerosIzq(String(nAno), 4);
    return 
sRes;
   }

   function 
sumaMes(nDianMesnAnonSum){
    if (
nSum >= 0){
     for (var 
0Math.abs(nSum); i++){
      if (
nMes == 12){
       
nMes 1;
       
nAno += 1;
      } else 
nMes += 1;
     }
    } else {
     for (var 
0Math.abs(nSum); i++){
      if (
nMes == 1){
       
nMes 12;
       
nAno -= 1;
      } else 
nMes -= 1;
     }
    }
    return 
armaFecha(nDianMesnAno);
   }

   function 
calcula(){
    var 
sFc0 document.frm.fecha0.value// Se asume válida
    
var nSum parseInt(document.frm.meses.value);
    var 
sFc1 sFc0;
    if (!
isNaN(nSum)){
     var 
nDia parseInt(sFc0.substr(02));
     var 
nMes parseInt(sFc0.substr(32));
     var 
nAno parseInt(sFc0.substr(64));
     
sFc1 sumaMes(nDianMesnAnonSum);
    }
    
document.frm.fecha1.value sFc1;
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <table border="0">
    <tr>
     <td>
      <table border="1">
       <tr>
        <td align="right">
         Fecha inicial (dd/mm/aaaa)
        </td>
        <td>
         <input type="text" name="fecha0" value="21/03/2002">
        </td>
       </tr>
       <tr>
        <td align="right">
         Meses
        </td>
        <td>
         <input type="text" name="meses" value="0">
        </td>
       </tr>
       <tr>
        <td align="right">
         Fecha final (dd/mm/aaaa)
        </td>
        <td>
         <input type="text" name="fecha1" readonly>
        </td>
       </tr>
      </table>
     </td>
    </tr>
    <tr>
     <td align="center">
      <input type="button" value="Calcular" onclick="calcula()">
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 


atlante 06/12/2002 20:59

37.- text que admita solo numeros
 
P : Como se puede impedir que se ingrese un dato no numerico ?

R :
Código PHP:

<HTML>
<
HEAD>
<
TITLE></TITLE>
</
HEAD>
<
script language="javascript">
<!--
function 
LP_data(){
var 
key=window.event.keyCode;//codigo de tecla.
if (key 48 || key 57){//si no es numero 
window.event.keyCode=0;//anula la entrada de texto.
}}
-->
</script> 

<basefont face=verdana size=2>
<BODY>
<form name="miForm">
<input type=text name="num" onKeypress="LP_data()"><br><br>
<input type="button" value="enviar" onClick="LP_box()">
</form>
</BODY>
</HTML>

Kaopectate 07/12/2002 11:46

38.- Radio buttons
 
P: ¿Como puedo preasignar el valor de un botón de radio?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
Sel(n){
    
document.frm.rad[1].checked true;
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <input type="radio" name="rad" value="1">Uno<br>
   <input type="radio" name="rad" value="2">Dos<br>
   <input type="button" name="uno" value="Uno" onclick="Sel(1)">
   <input type="button" name="dos" value="Dos" onclick="Sel(2)">
  </form>
 </body>
</html> 


Carlitos 07/12/2002 14:21

39.- Coodenadas

P.- ¿Como averiguar las coordenadas del ratón?

R.-

[code]<head>
<title>Coordenadas</title>
<script language="JavaScript">
<!--
function mouseMove(e) {
document.getElementById("ejeX").value = (document.all)? event.x+document.body.scrollLeft : e.pageX
document.getElementById("ejeY").value = (document.layers)? event.y+document.body.scrollTop : e.pageY
}
function init() {
if (!document.all) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = mouseMove;
}
// -->
</script>
</head>

<body onload="init()">
Eje X <input type="text" id="ejeX" value="0" size="4">
<br>Eje Y <input type="text" id="ejeY" value="0" size="4">
</body>

</html>

Carlitos 07/12/2002 14:26

40.- Formularios
 
P.- ¿Cómo substituir los botones de un formulario por imágenes?

R.- [Ejemplo]
Código:

<FORM name="frm" method="post" ACTION="javascript:alert('Este formulario no hace nada')">
<INPUT type="text" name="campo1">
<INPUT type="text" name="campo2">
<A href="javascript:document.frm.submit();"><IMG src="imagen_submit.gif" border="0"></A>

<A href="javascript:document.frm.reset();"><IMG src="imagen_reset.gif" border="0"></A>
</FORM>


Carlitos 07/12/2002 14:31

41.- Enlaces [Ejemplo]

P.- ¿Cómo quitar el marco de los enlaces?

R.- Añadiendo onFocus="this.blur()"

Código:

<A href="http://www.pagina.com" onFocus="this.blur()">Enlace</a>

Carlitos 07/12/2002 14:34

42.- Navegación
 
P.-¿Como redireccionar a una página?

R.- Entre el <HEAD> y el </HEAD> de tu página debes poner lo siguiente:

Código:

<META HTTP-EQUIV="Refresh" CONTENT="@;URL=http://www.tusitioweb.com">
Donde @ es el tiempo que esperará a redireccionarse, puedes poner 0 para que rápido se redireccione.

Carlitos 07/12/2002 14:37

43.- Frames
 
P.-¿Cómo evitar que tu página se cargue en un frame externo?

R.- Poniendo esto en el <head> de tu página.

Código:

<script>
if (parent.frames.length > 0)  parent.location.href = self.document.location
</script>


Carlitos 07/12/2002 14:46

44.- Frames
 
P.- ¿Como cargar el frame principal si acceden directamente a una de mis páginas secundarias?

R.- Poniendo esto en el <head> de tus páginas secundarias.

Código:

<script>
if(top==self) top.location="index.htm"
</script>

Donde index.htm, es el nombre de tu página principal.

Kaopectate 08/12/2002 18:30

45.- Formato de números enteros
 
P: ¿Como puedo presentar un número entero usando separadores de miles?

R: [ver ejemplo]
Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
formatNmb(nNmb){
    var 
sRes "";
    for (var 
jnNmb.length 10>= 0i--, j++)
     
sRes nNmb.charAt(i) + ((0) && (== 0)? ".""") + sRes;
    return 
sRes;
   }
  
</script>
 </head>
 <body>
  <table border="1">
   <script language="JavaScript">
    document.writeln("<tr><td>" +      13528 + "</td><td>" + formatNmb(     "13528") + "</td></tr>");
    document.writeln("<tr><td>" +        412 + "</td><td>" + formatNmb(       "412") + "</td></tr>");
    document.writeln("<tr><td>" +    1378528 + "</td><td>" + formatNmb(   "1378528") + "</td></tr>");
    document.writeln("<tr><td>" +     213528 + "</td><td>" + formatNmb(    "213528") + "</td></tr>");
    document.writeln("<tr><td>" + 1234567890 + "</td><td>" + formatNmb("1234567890") + "</td></tr>");
   </script>
  </table>
 </body>
</html> 


Kaopectate 08/12/2002 18:31

46.- Entrada de datos númericos con formato
 
P: ¿Como puedo presentar un número con formato de separador de decimales y de miles a medida que va siendo transcrito en un campo de texto?

Créditos: Este script me llegó en una pregunta ya desaparecida. Si alguien tiene información del autor, por favor hágamelo saber para colocar los créditos correspondientes.

R: [ver ejemplo]
Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
currencyFormat(fldmilSepdecSepe) {
    var 
sep 0;
    var 
key '';
    var 
0;
    var 
len len2 0;
    var 
strCheck '0123456789';
    var 
aux aux2 '';
    var 
whichCode = (window.Event) ? e.which e.keyCode;
    if (
whichCode == 13) return true// Enter
    
key String.fromCharCode(whichCode); // Get key value from key code
    
if (strCheck.indexOf(key) == -1) return false// Not a valid key
    
len fld.value.length;
    for(
0leni++)
     if ((
fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
    
aux '';
    for(; 
leni++)
     if (
strCheck.indexOf(fld.value.charAt(i))!=-1aux += fld.value.charAt(i);
    
aux += key;
    
len aux.length;
    if (
len == 0fld.value '';
    if (
len == 1fld.value '0'decSep '0' aux;
    if (
len == 2fld.value '0'decSep aux;
    if (
len 2) {
     
aux2 '';
     for (
0len 3>= 0i--) {
      if (
== 3) {
       
aux2 += milSep;
       
0;
      }
      
aux2 += aux.charAt(i);
      
j++;
     }
     
fld.value '';
     
len2 aux2.length;
     for (
len2 1>= 0i--)
      
fld.value += aux2.charAt(i);
     
fld.value += decSep aux.substr(len 2len);
    }
    return 
false;
   }
  
</script>
 </head>
 <body>
  <form>
   Tipee un número: 
   <input type="text" name="test" length="15" onKeyPress="return(currencyFormat(this,',','.',event))">
  </form>
 </body>
</html> 


Kaopectate 08/12/2002 18:32

47.- Validación del formato de una dirección de correo
 
P: ¿Como puedo validar que una dirección de correo sea consistente?

R: [ver ejemplo]
Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
Validar(form){
    var 
pos1pos2bOk true;
    var 
sDir document.frm.dir.value;
    if (
sDir == ""){
     
alert("Por favor ingrese su dirección de correo");
     
document.frm.dir.focus();
     return 
false;
    }
    
pos1 sDir.indexOf('@'0);
    
pos2 sDir.indexOf('.'0);
    
bOk bOk && (pos1 0);
    
bOk bOk && (pos2 != -1);
    
bOk bOk && (pos1 pos2 1);
    
bOk bOk && (pos2 sDir.length 1);
    if (!
bOk){
     
alert("Dirección de correo inválida");
     
document.frm.dir.focus();
     return 
false;
    }
   }
  
</script>
 </head>
 <body>
  <form name="frm" method="post" action="" onSubmit="return Validar(this);">
   Dirección de correo:
   <input type="text" name="dir">
   <input type="submit">
  </form>
 </body>
</html> 


Kaopectate 08/12/2002 21:12

48.- History
 
P: ¿Como se puede manipular mediante JavaScript los botones "Atrás", "Adelante" y "Recargar" del navegador?

R: [ver ejemplo]

NOTA: Debe reemplazar las palabras "java script" por "JavaScript".

Código PHP:

<html>
 <
head>
 </
head>
 <
body>
  <
b>Manipular una páginia individual o frame actual</b><br>
  <
a href="javascript:history.reload()">Recargar esta página o frame</a><br>
  <
a href="javascript:history.back()">Ir a página (o frameanterior</a><br>
  <
a href="javascript:history.forward()">Ir a página (o framesiguiente</a><br><br>
  <
b>Manipular un frame vecino</b><br>
  <
a href="javascript:parent.frames[2].history.reload()">Recargar un frame vecino</a><br>
  <
a href="javascript:parent.frames[2].history.back()">Ir a frame vecino anterior</a><br>
  <
a href="javascript:parent.frames[2].history.forward()">Ir a frame vecino siguiente</a><br><br>
  <
b>Manipular un frame vecino usando su nombre</b><br>
  <
a href="javascript:parent.nombreDelFrame.history.reload()">Recargar un frame vecino (por nombre)</a><br>
  <
a href="javascript:parent.nombreDelFrame.history.back()">Ir a frame vecino anterior (por nombre)</a><br>
  <
a href="javascript:parent.nombreDelFrame.history.forward()">Ir a frame vecino siguiente (por nombre)</a><br><br>
 </
body>
</
html


Kaopectate 08/12/2002 21:12

49.- Contar palabras
 
P: ¿Como puedo contar el número de palabras dentro de un textarea?

R: [ver ejemplo]

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   function 
calcula(){
    var 
sTxt document.frm.txt.value;
    var 
sTx2 "";
    var 
sSep document.frm.sep.value;
    var 
iRes 0;
    var 
bPalabra false;
    for (var 
0sTxt.lengthj++){
     if (
sSep.indexOf(sTxt.charAt(j)) != -1){
      if (
bPalabrasTx2 += " ";
      
bPalabra false;
     } else {
      
bPalabra true;
      
sTx2 += sTxt.charAt(j);
     }
    }
    if (
sTx2.charAt(sTx2.length 1) != " "sTx2 += " ";
    for (var 
0sTx2.lengthj++)
     if (
sTx2.charAt(j) == " "iRes++;
    if (
sTx2.length == 1iRes 0;
    
alert("Número de palabras: " String(iRes));
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   Texto:<br>
   <textarea name="txt" rows="5" cols="80"></textarea><br><br>
   Separadores:
   <input type="text" name="sep" value=" ,.;:"><br><br>
   <input type="button" name="btn" value="Calcular" onclick="calcula()">
  </form>
 </body>
</html> 


Kaopectate 08/12/2002 21:13

50.- Ventana explosiva
 
P: ¿Como puedo hacer que una ventana se abra simulando un efecto de explosión?

R: [ver ejemplo]

Créditos: Carlitos

Código PHP:

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

   var 
ancho 100
   
var alto 100
   
var fin 300
   
var 100
   
var 100

   
function inicio(){
    
ventana window.open("hola.htm""_blank""resizable,height=1,width=1,top=x,left=y,screenX=x,screenY=y");
    
abre();
   }

   function 
abre(){
    if (
ancho <= fin) {
     
ventana.moveTo(xy);
     
ventana.resizeTo(anchoalto);
     
+= 5;
     
+= 5;
     
ancho += 15;
     
alto += 15;
     
timer setTimeout("abre()"1);
    } else {
     
clearTimeout(timer);
    }
   }

  
</script>
  <form>
   <input type="button" value="Abrir Ventana" onClick="inicio()"></p>
  </form>
 </body>
</html> 



La zona horaria es GMT -6. Ahora son las 16:42.

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