Retroceder   Foros del Web > Programación para sitios web > Javascript

Respuesta
 
Herramientas Desplegado
Antiguo 05-oct-2003, 15:01   #151 (permalink)
Moderadora
tunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradabletunait es realmente agradable
 
Avatar de tunait
 
Fecha de Ingreso: noviembre-2002
Ubicación: Terok Nor
Mensajes: 14.796
Información 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/
//tunait@yahoo.com
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
tunait está desconectado   Responder Citando
Antiguo 06-oct-2003, 09:17   #152 (permalink)
Moderador extraterrestre
KarlanKas llegará a ser famoso muy prontoKarlanKas llegará a ser famoso muy prontoKarlanKas llegará a ser famoso muy pronto
 
Avatar de KarlanKas
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 6.913
Enviar un mensaje por MSN a KarlanKas Enviar un mensaje por Yahoo  a KarlanKas
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!

Última edición por KarlanKas; 06-oct-2003 a las 09:20.
KarlanKas está desconectado   Responder Citando
Antiguo 13-oct-2003, 14:27   #153 (permalink)
Colaborador
Kaopectate ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2002
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.126
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> 

Última edición por Kaopectate; 13-oct-2003 a las 14:30.
Kaopectate está desconectado   Responder Citando
Antiguo 15-oct-2003, 10:49   #154 (permalink)
Moderador extraterrestre
KarlanKas llegará a ser famoso muy prontoKarlanKas llegará a ser famoso muy prontoKarlanKas llegará a ser famoso muy pronto
 
Avatar de KarlanKas
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 6.913
Enviar un mensaje por MSN a KarlanKas Enviar un mensaje por Yahoo  a KarlanKas
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> 

Última edición por KarlanKas; 19-dic-2005 a las 14:45.
KarlanKas está desconectado   Responder Citando
Antiguo 21-oct-2003, 03:58   #155 (permalink)
epa2 ha deshabilitado el karma
 
Avatar de epa2
 
Fecha de Ingreso: noviembre-2002
Ubicación: Málaga
Mensajes: 1.355
Enviar un mensaje por ICQ a epa2
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>
__________________

***Aprendiz de todo y maestro de nada***

Última edición por Kaopectate; 03-nov-2003 a las 07:04.
epa2 está desconectado   Responder Citando
Antiguo 30-oct-2003, 02:04   #156 (permalink)
Cain ha deshabilitado el karma
 
Avatar de Cain
 
Fecha de Ingreso: noviembre-2002
Ubicación: Catalunya
Mensajes: 6.495
Enviar un mensaje por AIM a Cain Enviar un mensaje por Yahoo  a Cain
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>
__________________
Josep Tarrés,
web: http://www.traduim.com/
blog: http://www.traduim.com/blog/

Última edición por Kaopectate; 03-nov-2003 a las 07:08.
Cain está desconectado   Responder Citando
Antiguo 30-oct-2003, 02:06   #157 (permalink)
Cain ha deshabilitado el karma
 
Avatar de Cain
 
Fecha de Ingreso: noviembre-2002
Ubicación: Catalunya
Mensajes: 6.495
Enviar un mensaje por AIM a Cain Enviar un mensaje por Yahoo  a Cain
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>
__________________
Josep Tarrés,
web: http://www.traduim.com/
blog: http://www.traduim.com/blog/

Última edición por Kaopectate; 03-nov-2003 a las 07:09.
Cain está desconectado   Responder Citando
Antiguo 04-nov-2003, 06:44   #158 (permalink)
epa2 ha deshabilitado el karma
 
Avatar de epa2
 
Fecha de Ingreso: noviembre-2002
Ubicación: Málaga
Mensajes: 1.355
Enviar un mensaje por ICQ a epa2
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
__________________

***Aprendiz de todo y maestro de nada***

Última edición por Kaopectate; 06-nov-2003 a las 14:10.
epa2 está desconectado   Responder Citando
Antiguo 04-nov-2003, 06:50   #159 (permalink)
epa2 ha deshabilitado el karma
 
Avatar de epa2
 
Fecha de Ingreso: noviembre-2002
Ubicación: Málaga
Mensajes: 1.355
Enviar un mensaje por ICQ a epa2
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> 
__________________

***Aprendiz de todo y maestro de nada***

Última edición por Kaopectate; 06-nov-2003 a las 14:15.
epa2 está desconectado   Responder Citando
Antiguo 07-nov-2003, 08:02   #160 (permalink)
ACHAVARRIA
Invitado
 
Mensajes: n/a
Idea 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%>");

Última edición por Kaopectate; 09-nov-2003 a las 16:39.
  Responder Citando
Antiguo 07-nov-2003, 08:04   #161 (permalink)
ACHAVARRIA
Invitado
 
Mensajes: n/a
Idea 163.- Efecto: Estela en el puntero del mouse

P: ¿Como dejar una Estela en el puntero del mouse?

R: Copia el siguiente script entre las etiquetas <body> y </body>:

Código PHP:
<script language="JavaScript">
<!-- 
Mouse Comet II script by [email]kurt.grigg@virgin.net[/email]
colours=new Array('#6699FF','#6699FF','#6699FF','#6699FF','#6699FF','#6699FF','#6699FF','#6699FF','#6699FF')
10;
0;
0;
n6=(document.getElementById&&!document.all);
ns=(document.layers);
ie=(document.all);
d=(ns||ie)?'document.':'document.getElementById("';
a=(ns||n6)?'':'all.';
n6r=(n6)?'")':'';
s=(ns)?'':'.style';
if (
ns){
for (
0ni++)
document.write('<layer name="dots'+i+'" top=0 left=0 width='+i/2+' height='+i/2+' bgcolor=#ff0000></layer>');
}
if (
ie)
document.write('<div id="con" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
if (
ie||n6){
for (
0ni++)
document.write('<div id="dots'+i+'" style="position:absolute;top:0px;left:0px;width:'+i/2+'px;height:'+i/2+'px;background:#ff0000;font-size:'+i/2+'"></div>');
}
if (
ie)
document.write('</div></div>');
(
ns||n6)?window.captureEvents(Event.MOUSEMOVE):0;
function 
Mouse(evnt){
= (ns||n6)?evnt.pageY+window.pageYOffset:event.y+4;
= (ns||n6)?evnt.pageX+1:event.x+1;
}
(
ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
function 
animate(){
o=(ns||n6)?window.pageYOffset:0;
if (
ie)con.style.top=document.body.scrollTop;
for (
0ni++){
var 
temp1 = eval(d+a+"dots"+i+n6r+s);

randcolours colours[Math.floor(Math.random()*colours.length)];
(
ns)?temp1.bgColor randcolours:temp1.background randcolours
if (
n-1){
var 
temp2 = eval(d+a+"dots"+(i+1)+n6r+s);
temp1.top parseInt(temp2.top);
temp1.left parseInt(temp2.left);

else{
temp1.top y+o;
temp1.left x;
}
}
setTimeout("animate()",10);
}
animate();
// -->
</script> 
Dentro del vector colours se almacenan los colores de las diferentes posiciones de la estela, los cuales pueden ser modificados a gusto propio.

Código PHP:
colours=new Array('#6699FF','#6699FF','#6699FF','#6699FF','#6699FF','#6699FF','#6699FF','#6699FF','#6699FF'

Última edición por Kaopectate; 10-nov-2003 a las 08:39.
  Responder Citando
Antiguo 07-nov-2003, 08:06   #162 (permalink)
ACHAVARRIA
Invitado
 
Mensajes: n/a
Idea 164.- Barra de "cargando página"

P: ¿Como puedo poner una barra que me indique que la página esta siendo cargada?

R: Para hacerlo, debemos incorporar el siguiente código dentro de las etiquetas <head> y </head>:

Código PHP:
<html>
<
head>
<
title>Título</title>
<
div ID="waitDiv" style="position:absolute;left:300;top:300;visibility:hidden">
<
table cellpadding="6" cellspacing="0" border="1" bgcolor="#000000" bordercolor="#FFFFFF">
<
tr><td align=center>
<
font color="#ffffff" face="Verdana" size="4">Cargando página...</font>
<
img src="/images/cargando.gif" border="1">
</
td>
</
tr></table>
</
div>
<
SCRIPT>
<!--
var 
DHTML = (document.getElementById || document