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/)

ferny 07/08/2003 09:06

143.- Previsualizar una imagen antes de subirla
 
P: ¿Se puede previsualizar una imagen que he seleccionado en un <input type=file> antes de subirla?

R:

SI:

Código PHP:

<p>Selecciona una imagen</p>
<
input type="file" onChange="document.imagen.src='file:///' + this.value"><br><br>
Vista previa:<br><br>
<
img src="imagenpordefecto.gif" name="imagen"

Ver ejemplo

Nota: sólo funcionará en Internet Explorer

CsC_3 12/08/2003 18:21

144.- Meter archivo txt en una pagina web
 
P: Se puede meter un archivo txt, en una pagina web?

R: pero que claro que si.

esto va en cualquier parte donde quieras meter el txt
Código PHP:


<script language="javascript" src="diario.txt"></script> 

esto debe de ir en el txt

Código PHP:

 var saludo=""+
"<font color=#ffffff size=2>script, para meter un txt<br>"+

"<font color=#333333 size=2>en un html, sin problemas</font>"+

"<font color=#ffffff size=1>CsC3</font>";

document.write(saludo); 


este codigo tiene la libertad que puedes meter, texto (con formato), imagenes, etc...




[se que no soy moderador, ni nada del foro de jscript, pero este codigo se me hace muy facil y practico, perdon si hago mal, en ponerlo]

KarlanKas 24/08/2003 04:15

145.- Ver la página a distintas resoluciones
 
P.- ¿Cómo puedo ver si mi página se verá bien a una resolución menor que la que tiene mi PC sin tener que cambiar la configuración de la pantalla de mi ordenador?
R.- Esto es un pequeño truco que se vale de la posibilidad de ejectar sentencias de JS en la barra de Dirección del navegador. Sólo se debe, una vez en la página que queremos ver a otra resolución, poner en la barra de dirección:

http://www.karlankas.net/forosdelweb/barra.jpg

En realidad no debe ser 600 el alto, debería ser 540 poruqe con la barra de inicio se pierde un espacio (valioso) que ha de tenerse en cuenta. El ejemplo es para todos los que tenemos la pantalla a 1024x768 o superior y tenemos la fastidiosa labor de hacer páginas a 800x600.

Un saludo! :adios:

WoodnTiger 28/08/2003 08:36

146.- Forzar entrada por la página principal (sin usar marcos)
 
P: ¿Cómo puedo forzar que el usuario entre siempre por mi página principal (index.htm) y no por mis páginas secundarias si NO utilizo marcos (frames)?

R: Con este script :arriba: .

En el HEAD de la página secundaria a la que no quieres que entren sin pasar por index.htm:

Código PHP:

<script language="JavaScript">
function 
redireccionar() {
    var 
origen document.referrer;
    if (
origen!="http://tuweb/index.htm"window.location.href"index.htm";
    }
</script> 

Y en el BODY de esa misma página, poner al principio del todo:
Código PHP:

<body onactivate="redireccionar()"

Notas: el valor de la variable origen debe ser la URL completa incluyendo la página "de control", y el `window.location.href apunta a "index.htm" directamente porque la página que contiene el script se encuentra en el mismo directorio que "index.htm". Si no es así, poner la ruta.

Salu2 y gracias a Kaopectate por la "pista clave" :-D .

epa2 09/09/2003 06:26

147.- Mensaje segun hora del día
 
P: ¿COMO PUEDO MOSTRAR UN MENSAJE EN MI PAGINA DEPENDIENDO DE LA HORA DEL DIA?

R:Con este pequeño script

CREDITOS BRAVENET

Código:

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
document.write("<div align='center' style='font:bold 14px verdana;'>")
day = new Date()
hr = day.getHours()
if (hr == 1) document.write("It's after 1 am. Are you still up?")
if (hr == 2) document.write("It's after 2 am. Are you still up?")
if (hr == 3) document.write("It's after 3 am. Are you still up?")
if (hr == 4) document.write("It's after 4 am. Are you still up?")
if (hr == 5) document.write("It's after 5 am. Are you still up?")
if (hr == 6) document.write("It's after 6 am, yawn!")
if (hr == 7) document.write("Good Morning! It's after 7 am")
if (hr == 8) document.write("It's after 8 am")
if (hr == 9) document.write("It's after 9 am")
if (hr == 10) document.write("It's after 10 am, coffee time!")
if (hr == 11) document.write("It's after 11 am")
if (hr == 12) document.write("It's after noon")
if (hr == 13) document.write("Good Afternoon! It's after 1 pm")
if (hr == 14) document.write("It's after 2 pm")
if (hr == 15) document.write("It's after 3 pm")
if (hr == 16) document.write("It's after 4 pm")
if (hr == 17) document.write("Good Evening! It's after 5 pm")
if (hr == 18) document.write("It's after 6 pm, eat some dinner!")
if (hr == 19) document.write("It's after 7 pm")
if (hr == 20) document.write("It's after 8 pm")
if (hr == 21) document.write("It's after 9 pm")
if (hr == 22) document.write("It's after 10 pm")
if (hr == 23) document.write("It's after 11 pm, go to bed!")
if (hr == 0) document.write("It's after midnight.")
document.write("</div>")
// End -->
</SCRIPT>


acervantes 26/09/2003 10:22

148.- Formato Fecha
 
P: ¿Cómo puedo mostrar la fecha en formato "28 de Septiembre del 2003"?

R: Con esta función de javascript:

CREDITOS: seoista

Código PHP:

<html>
 <
head>
  <
script language="JavaScript">
   
// función que muestra la fecha en formato Viernes, 26 de Septiembre del 2003
   // parámetro una fecha (se asume que es válida)

   
function showdate(mydate){
    var 
year mydate.getYear()
    if (
year 1000)
     
year += 1900
    
var day mydate.getDay()
    var 
month mydate.getMonth()
    var 
daym mydate.getDate()
    if (
daym 10)
     
daym "" daym
    
var dayarray = new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado")
    var 
montharray = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre")
    return 
dayarray[day] + ", " daym " de " montharray[month] + " del " year;
   }

   
// y la llamada a la función
   
document.write(showdate(new Date()))
  
</script>
 </head>
 <body>
 </body>
</html> 


Helbira 30/09/2003 03:42

149.- Límite de caracteres en un textarea
 
P: ¿Cómo puedo limitar el número de caracteres de un textarea?

R: La solución no es el atributo maxlength que tiene los campos de texto. Consiste en cada vez que se introduzca un carácter en el textarea, contar el número total de caracteres que van ya escritos y en caso de haberse superado, borrar el último carácter.

Código PHP:

<script language="JavaScript">
function 
maximaLongitud(texto,maxlong) {
  var 
teclain_valueout_value;

  if (
texto.value.length maxlong) {
    
in_value texto.value;
    
out_value in_value.substring(0,maxlong);
    
texto.value out_value;
    return 
false;
  }
  return 
true;
}
</script>

<textarea name="nombre_textarea" cols="50"
rows="5" onKeyUp="return maximaLongitud(this,254)"> 


Kaopectate 30/09/2003 15:22

150.- Detectar Sistema Operativo
 
P: ¿Como puedo saber el Sistema Operativo sobre el que esta corriendo mi página?

R:

Código PHP:

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

   function 
getOpSys(){
    var 
sOpSys "<b>O.S.: </b>" navigator.appVersion.toLowerCase().split(";"3)[2];
    return 
sOpSys;
   }

  
</script>
  <title></title>
 </head>
 <body>
  <script language="JavaScript">
   document.writeln(getOpSys());
  </script>
 </body>
</html> 


JavierB 03/10/2003 06:22

151.- Controlar el número de decimales de un número.
 
P: ¿Como puedo mostrar un número con una determinada cantidad de decimales?

R: Con este pequeño código:
Código PHP:

<html>
<
head>
<
script>
Number.prototype.decimal = function (num) {
    
pot Math.pow(10,num);
    return 
parseInt(this pot) / pot;
}
function 
decimal(src) {
    
n=eval(document.getElementById(src).value);
    
alert(n.decimal(3)); //deja 3 decimales
}
</script>
</head>

<body>
<input type="text" id="numero" value="3.1415926">
<input type="button" onClick="decimal('numero')">
</body>
</html> 


KarlanKas 03/10/2003 09:26

152.- Cómo tener un WHOIS siempre a mano
 
P.- Muchas veces necesitamos saber si un dominio está libre o comprobar cuando un dominio de un cliente caduca y tenemos que visitar la típica página de unvendedor de dominios, solicitarlo y darle al whois cuando nos dice que (obviamente) está ocupado. ¿No hay una forma más sencilla?
R.- Sí la hay, pega este código en la barra de dirección de tu navegador, a continuación pincha en el espacio de la derecha de dicha barra donde suele aparecer el icono de página web (en el explorer una hoja con una e delante) y arrástralo hasta la barra de vínculos.

Código PHP:

javascript:pepe=prompt("nombre del dominio","","");document.location("http://www.dnsstuff.com/tools/whois.ch?ip="+pepe); 

La dirección la saqué de un post de cvdhs. Gracias, "jefe". ;-)

tunait 05/10/2003 15:01

FAQ - 153 - Cerrar todas las ventanas
 
P-/ ¿Cómo puedo, al salir de mi web, cerrar todas las ventanas que se hayan abierto desde mi sitio?

R-/ Abre todas tus ventanas usando la función abreVentana()

Pega este script en alguna parte entre <head> y </head>
Código:

<script language="JavaScript">
//cerrar todas las ventanas. Script por tunait!
//http://javascript.tunait.com/
//[email protected]
var cont = 0
function abreVentana(pagina)
{
cont++
eval('ventana'+ cont + "=window.open(pagina,'ventana'+cont,'')")
}

function cerrar()
{
for(m=1;m<=cont;m++)
        {
        if(eval('ventana' + m))
                {
                eval('ventana' + m + ".close()")
                }
        }
cont=0
}
</script>

Para abrir las ventanas (ejemplo para un link)

<a href="tuPagina.html" onclick="abreVentana('tuPagina.html');return false"> enlace </a>

Finalmente al tag de body...

<body onunload="cerrar()">

Ver ejemplo

KarlanKas 06/10/2003 09:17

154. Evitar que vuelvan a dar al Submit
 
P.-Harto estoy de que la gente de varias veces al botón de enviar un formulario. Saber como evitarlo quiero!
R.- Puedes poner un cartel que ponga que no den más de una vez al botón o hacer esto:

Pon un nombre al botón de submit... por ejemplo:
Código PHP:

<INPUT 
TYPE
="submit" 
VALUE="Mandar" 
NAME="enviar"



y luego en la etiqueta form pon:

Código PHP:


<FORM 
action
="destino.php"
method="post"
onsubmit="document.forms[0].enviar.value='Por favor espere un momento';document.forms[0].enviar.disabled=true;"


Con esto consigues que no vuelvan a dar a submit....

Te recomiendo que arregles un poco losx botones con CSS, si no se verán horribles!

Kaopectate 13/10/2003 14:27

155.- Página principal sin navegación
 
P: ¿Como puedo abrir la página principal de mi sitio sin barra de herramientas, sin barra de estado, sin menú y sin barra de direcciones?

R: El truco consiste en abrir una página intermedia que dispare un popup con las características que necesites y luego hacer que esa ventana intermedia se cierre sola. Para ello usamos una combinación del FAQ-7 y el FAQ-115.

Nota: La página principal propiamente dicha estaría en index1.htm

Código PHP:

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

   function 
abreSinNavegacion(){
    
open('index1.htm''principal''location=no,menubar=no,status=no,toolbar=no');
    
cerrar();
   }

   function 
cerrar() {
    var 
ventana window.self;
    
ventana.opener window.self;
    
ventana.close();
   }

  
</script>
 </head>
 <body onload="abreSinNavegacion()">
 </body>
</html> 


KarlanKas 15/10/2003 10:49

156.-Una forma de validar un formulario iluminando errores
 
P.- Cómo validar el formulario de una forma sencilla iluminando los errores.
R.- Con este código. Es muy fácil añadir reglas. sólo se van poniendo en el orden de los inputs en el formulario las reglas con el numerito de orden que les corresponda y se utiliza la variable valor para referirse al valor de dicho input.

Para el mensaje de error lo mismo, se usa error con el numerito de orden de input entre corchetes y se pone entre comillas el mensaje de error.

Un ejemplo:
Código PHP:

<html>
<
head>
<
style>
form,td{font:normal 10px/10px verdana;}
input{font:normal 10px/10px verdana;border:solid 1px black}
</
style>
    <
title>Prueba</title>
    <
script>
//Script original de KarlanKas para forosdelweb.com
//Adaptado a firefox gracias a JavierB ;-)

    
colorMal="#eeddee";
    
colorBien="white";
    
    
regla=new Array()

    
regla[0]="valor.length<3";
    
regla[1]="isNaN(valor) || valor<600000000";
    
regla[2]="valor.lastIndexOf('@')!=valor.indexOf('@') || valor.indexOf('@')<2 || valor.lastIndexOf('.')<valor.length-4 || valor.lastIndexOf('.')>valor.length-3";

    
mensaje=new Array()


    
mensaje[0]="Por favor, introduzca el nombre";
    
mensaje[1]="El número de teléfono introducido no es válido";
    
mensaje[2]="correo inválido";
    
    function 
comprobar(){ 
    
errores=""
    
mensaje2="";
    for(
a=0;a<regla.length;a++){ 
    
valor=document.forms[0].elements[a].value
    if(eval(
regla[a])){
    
mensaje2=(mensaje[a])?mensaje[a]:"Por favor, rellene el campo "+document.forms[0].elements[a].name;
    
errores+=mensaje2+"<br>"
    
document.forms[0].elements[a].style.background=colorMal;} 
    else{
document.forms[0].elements[a].style.background=colorBien;} 
    } 
    
pepe=document.getElementById("herror");
    
pepe.style.background=(errores!="")?colorMal:colorBien
    
pepe.style.border=(errores!="")?"solid 1px black":"none"
    
pepe.innerHTML=errores

    return (
errores=="")
    } 
     
    
    
</script>
</head>

<body>
<form onsubmit="return comprobar()">
<table><tr><td>nombre:</td><td><input type=text name=nombre></td><td style="font:normal 10px/15px verdana;padding:5px 5px 5px 5px;"rowspan=10 valign="top" id="herror"></td></tr>
<tr><td>telefono:</td><td><input type=text name="telefono"></td></tr>
<tr><td>e-mail:</td><td><input type=text name="email"></td></tr>
<tr><td colspan=2 align="center"><input type="submit" value="enviar"></td></tr></table>

</form>


</body>
</html> 


epa2 21/10/2003 03:58

157.- Proteger dirección de correo
 
P: ¿Cómo puedo proteger mi correo que aparece en mi website del spam?

R: Con este pequeño código, (no es perfecto, pero bueno, puede funcionar)

Creditos Bravenet

Código:

<SCRIPT LANGUAGE="javascript">
var primero = 'ma';
var segundo = 'il';
var tercero = 'to:';

// ejemplo: epa2
var direccion = 'epa2';

// ejemplo: hotmail
var dominio = 'hotmail';

var extension = 'com';

document.write('<a href="');
document.write(primero+segundo+tercero);
document.write(direccion);
document.write('@');
document.write(dominio);
document.write('.');
document.write(extension);
document.write('">');
document.write('¡Escribe a epa2!</a>');
</script>


Cain 30/10/2003 03:04

158.- Reemplazo dentro de un string
 
P.: ¿Cómo puedo sustituir una subcadena por otra en una cadena?

R.:

<script type="text/Javascript">
cadena="esta casa es azul";
cadena=cadena.replace("azul","verde");
</script>

Cain 30/10/2003 03:06

159.- Eliminación de parte de un string
 
P.: ¿Cómo puedo eliminar una subcadena de una cadena?

R.:
<script type="text/Javascript">
cadena="esta casa es azul";
cadena=cadena.replace("casa","");
</script>

epa2 04/11/2003 07:44

160.- Scroll (marquesina) de texto
 
P: ¿Como puedo colocar un scroll de texto (marquesina) en mi página?

Créditos : Bravenet

R:

Código PHP:

<html>
<
head>
<
script language="javascript">
<!--
var 
bannerID=0
function text(msg,ctrlwidth) {
        
msg " --- "+msg
        newmsg 
msg
        
while (newmsg.length ctrlwidth) {
                
newmsg += msg
        
}
        
document.write ('<FORM NAME="Scrolltext">');
        
document.write ('<CENTER><INPUT NAME="text" VALUE= "'+newmsg+'" SIZE= '+ctrlwidth+' ></CENTER>');
        
document.write ('</FORM>');
        var 
bannerID null
        rollmsg
()
}
function 
rollmsg() {
      
NowMsg document.Scrolltext.text.value
        NowMsg 
NowMsg.substring(1,NowMsg.length)+NowMsg.substring(0,1)
        
document.Scrolltext.text.value NowMsg
        bannerID 
setTimeout("rollmsg()",100)//change the number 100 to represent the speed of the scroll. The larger the number the slower it moves
}
// -->
</script>

</head>

<body>
<script>
<!--
msg = " AQUI COLOCA EL TEXTO DEL SCROLL HORIZONTAL (MARQUESINA) "
ctrlwidth = "75" //change this number to the length you would like the message box to be
text(msg,ctrlwidth);
// -->
</script>

</body>
</html> 


Un saludo a todos :adios:

epa2 04/11/2003 07:50

161.- Botón para imprimir que no se imprima
 
P: ¿Como puedo poner un botón para imprimir que desaparezca una vez presionado?

Creditos: Bravenet (es que yo solo soy un aprendiz) :'(

R:

Código PHP:

<html>
<
head>
<
script language="JavaScript">
function 
printPage() { 
if(
document.all) { 
document.all.divButtons.style.visibility 'hidden'
window.print(); 
document.all.divButtons.style.visibility 'visible'
} else { 
document.getElementById('divButtons').style.visibility 'hidden'
window.print(); 
document.getElementById('divButtons').style.visibility 'visible'


</script>
</head>
<body>
<div id="divButtons" name="divButtons"> 
<input type="button" value = "Print this page" onclick="printPage()" style="font:bold 11px verdana;color:#FF0000;background-color:#FFFFFF;">
</div>
</body>
</html> 


ACHAVARRIA 07/11/2003 09:02

162.- Ejecutar código JavaSrcipt, PHP o ASP
 
P: ¿Cómo ejecutar código ASP, PHP o de cualquier otro lenguaje dinámico interpretado en el servidor mediante una llamada JavaScript en un documento HTML común y corriente ?

R: En el archivo HTML debemos ubicar la llamada al archivo que queremos ejecutar:

index.htm
Código PHP:

<HTML>
<
HEAD>
<
TITLE>Ejectuar código PHP o ASP con JavaScript</TITLE>
</
HEAD>
<
BODY>
<
script language="JavaScript" src="archivo.php"></script>
<script language="JavaScript" src="archivo.asp"></script>
</BODY>
</HTML> 


El archivo del Script debe contener la funcion document.write al final del mismo para poder imprimir el contenido que generó dinámicamente:

archivo.php
Código PHP:

<?
// En este espacio pondremos todo el
// código PHP que queremos ejecutar
// y luego juntar todo lo que es
// necesario imprimir en una sola
// variable.

$variable "Script PHP ejecutado desde una página HTML";
?>
document.write("<?=$variable;?>");

archivo.asp

<%
' En este espacio pondremos todo el
' código ASP que queremos ejecutar
' y luego juntar todo lo que es
' necesario imprimir en una sola
' variable.

variable = "Script ASP ejecutado desde una página HTML"
%>
document.write("<%=variable%>");



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.