Objeto String()
Hola. Estoy comenzando con el JavaScript. No tengo apenas conocimientos de programación en general, pero poco a poco quiero ir aprendiendo.
Mi duda es muy sencilla (menos para mi...):
Quiero hacer que desde una página en la que hay un textfield y un botón, el usuario ponga un texto cualquiera en el textfield. Al darle al botón, aparece otra página en la que aparece el texto que metió el usuario, pero todo en mayúsculas. Se que se hace con el método toUpperCase(), pero no se como hacer que haga todo esto. ¿Me puedes ayudar? Muchas gracias.
Mi duda es muy sencilla (menos para mi...):
Quiero hacer que desde una página en la que hay un textfield y un botón, el usuario ponga un texto cualquiera en el textfield. Al darle al botón, aparece otra página en la que aparece el texto que metió el usuario, pero todo en mayúsculas. Se que se hace con el método toUpperCase(), pero no se como hacer que haga todo esto. ¿Me puedes ayudar? Muchas gracias.
5 Respuestas
Respuesta de bruckner
1
1
Lo que quieres hacer tiene dos soluciones, una muy sencilla y otra un poco más complicada. Te explicaré detalladamente la más sencilla, que tiene como ventaja principal ser más robusta, pero también algún inconveniente, como estar limitada en cuanto a la longitud de la cadena que se puede transmitir.
La solución consiste en usar un paso de parámetros mediante método GET. Esto tan solo consiste en concatenar a la URL de la página a la que le quieres pasar la cadena un símbolo de interrogación y la cadena en sí. Tan sólo hay que tener la precaución de pasarla por una función de codificación, pues hay caracteres no válidos en una URL que podría contener la cadena.
Después, la página receptora podrá consultar la parte relevante de su propia URL, extraerla y descodificarla. Te detallo el código a continuación:
// Esto va en la página "emisora", en un SCRIPT en la cabecera.
function appendStr(url,str) {
return url+'?'+escape(str.toUpperCase()); // convierte la cadena a mayúsculas, la codifica
// se la concatena a la url y la devuelve.
}
// en el formulario de la página "emisora"
<input type="text" name="cadena" maxlength="150">
<input type="button" value="Adelante..." onClick="location.href=appendStr('receptora.html',this.form.cadena.value)">
Esto supone que la página de destino se llama receptora.html, y establece un máximo de 150 caracteres en la longitud de la cadena (pueden ponerse más, de hecho hasta 250 es seguro usar este método).
En la página receptora, en un SCRIPT en la cabecera, tendrás:
function decodeStr() {
return unescape(location.search.substr(1));
}
Y donde necesites tu cadena, podrás hacer, simplemente:
alert(decodeStr());
O en una caja de texto que se llame cajaTexto, en un formulario formTexto:
document.formTexto.cajaTexto.value=decodeStr();
Puedes poner esa sentencia en un SCRIPT dentro del cuerpo de la página, después de que el formulario y su caja de texto correspondiente hayan sido definidos. Para curarte en salud, lo mejor es poner ese SCRIPT justo antes de cerrar el BODY.
Una nota acerca de esta solución: si la pruebas en modo local (con tus páginas en el disco duro) no funcionará, pues depende de un servidor web (usa el método GET del protocolo HTTP). Así que para que funcione, tus páginas tendrán que estar ya subidas en el servidor.
La otra solución que te comentaba se basa en cookies, y es más general, aunque bastante más compleja de implementar. Así mismo depende de que el usuario que esté viendo tus páginas permita que se le envíen cookies (cosa que no todo el mundo hace).
No dudes en preguntarme de nuevo si te surge algún problema.
La solución consiste en usar un paso de parámetros mediante método GET. Esto tan solo consiste en concatenar a la URL de la página a la que le quieres pasar la cadena un símbolo de interrogación y la cadena en sí. Tan sólo hay que tener la precaución de pasarla por una función de codificación, pues hay caracteres no válidos en una URL que podría contener la cadena.
Después, la página receptora podrá consultar la parte relevante de su propia URL, extraerla y descodificarla. Te detallo el código a continuación:
// Esto va en la página "emisora", en un SCRIPT en la cabecera.
function appendStr(url,str) {
return url+'?'+escape(str.toUpperCase()); // convierte la cadena a mayúsculas, la codifica
// se la concatena a la url y la devuelve.
}
// en el formulario de la página "emisora"
<input type="text" name="cadena" maxlength="150">
<input type="button" value="Adelante..." onClick="location.href=appendStr('receptora.html',this.form.cadena.value)">
Esto supone que la página de destino se llama receptora.html, y establece un máximo de 150 caracteres en la longitud de la cadena (pueden ponerse más, de hecho hasta 250 es seguro usar este método).
En la página receptora, en un SCRIPT en la cabecera, tendrás:
function decodeStr() {
return unescape(location.search.substr(1));
}
Y donde necesites tu cadena, podrás hacer, simplemente:
alert(decodeStr());
O en una caja de texto que se llame cajaTexto, en un formulario formTexto:
document.formTexto.cajaTexto.value=decodeStr();
Puedes poner esa sentencia en un SCRIPT dentro del cuerpo de la página, después de que el formulario y su caja de texto correspondiente hayan sido definidos. Para curarte en salud, lo mejor es poner ese SCRIPT justo antes de cerrar el BODY.
Una nota acerca de esta solución: si la pruebas en modo local (con tus páginas en el disco duro) no funcionará, pues depende de un servidor web (usa el método GET del protocolo HTTP). Así que para que funcione, tus páginas tendrán que estar ya subidas en el servidor.
La otra solución que te comentaba se basa en cookies, y es más general, aunque bastante más compleja de implementar. Así mismo depende de que el usuario que esté viendo tus páginas permita que se le envíen cookies (cosa que no todo el mundo hace).
No dudes en preguntarme de nuevo si te surge algún problema.
- Compartir respuesta
- Anónimo
ahora mismo
Respuesta de xelenco2
1
1
Creí que ya te había contestado, perdona por la tardanza.
Lo primero decirte que por lo general, cuando quieres pasar valores entre páginas, se debe usar variables de sesión y eso corre por cuenta del servidor.
Pero si tu quieres porque te empeñas lo que puedes hacer es declararte un frameset donde tengas dos frames el primero se 0 y el segundo * te creas las variables en el frame superior que es de cero y las llamas desde cualquier página desde el frame de abajo
Ejemplo
el documento frame.html
<html>
<head><title>Titulo que quieras poner permanecera siempre este</title></head>
<frameset rows="0,*">
<frame name="variables" src="blanco.html">
<frame name="contendido" src="docu01.html"
</frameset>
</html>
el documento blanco.html
<html>
<head>
<script>
var nombre="";
var edad="";
</script>
</head>
</html>
el documento doc01.html
<html>
<head>
<script>
<!--
funtion cargarVariables(){
window.top.variables.nombre = document.forms[0].nombre.value
window.top.variables.edad = document.forms[0].edad.value
window.location.href="doc02.html";
}
//-->
</script>
</head>
<body>
<form action="javaScript:cargarVariables();">
nombre: <input name="nombre" type="text"><br>
edad: <input name="edad" type="text"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
el documento doc02.html
<html>
<body>
<hr>
<script>
<!--
document.write("nombre: " + window.top.variables.nombre + "<br>edad: " + "window.top.variables.edad );
//-->
</script>
<hr>
</body>
</html>
Te recomiendo que copies los códigos los guardes con los nombres que te he dicho
Y luego abras el documento frame.html en el veras el dos textfields como tu los llamas donde rellenas el valor que sea cuando termines pincha el botón enviar
y veras que te llama a otra hoja donde escribe esos valores.
Si no funciona es porque se me ha pasado algo pero ese seria el funcionamiento.
Lo primero decirte que por lo general, cuando quieres pasar valores entre páginas, se debe usar variables de sesión y eso corre por cuenta del servidor.
Pero si tu quieres porque te empeñas lo que puedes hacer es declararte un frameset donde tengas dos frames el primero se 0 y el segundo * te creas las variables en el frame superior que es de cero y las llamas desde cualquier página desde el frame de abajo
Ejemplo
el documento frame.html
<html>
<head><title>Titulo que quieras poner permanecera siempre este</title></head>
<frameset rows="0,*">
<frame name="variables" src="blanco.html">
<frame name="contendido" src="docu01.html"
</frameset>
</html>
el documento blanco.html
<html>
<head>
<script>
var nombre="";
var edad="";
</script>
</head>
</html>
el documento doc01.html
<html>
<head>
<script>
<!--
funtion cargarVariables(){
window.top.variables.nombre = document.forms[0].nombre.value
window.top.variables.edad = document.forms[0].edad.value
window.location.href="doc02.html";
}
//-->
</script>
</head>
<body>
<form action="javaScript:cargarVariables();">
nombre: <input name="nombre" type="text"><br>
edad: <input name="edad" type="text"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
el documento doc02.html
<html>
<body>
<hr>
<script>
<!--
document.write("nombre: " + window.top.variables.nombre + "<br>edad: " + "window.top.variables.edad );
//-->
</script>
<hr>
</body>
</html>
Te recomiendo que copies los códigos los guardes con los nombres que te he dicho
Y luego abras el documento frame.html en el veras el dos textfields como tu los llamas donde rellenas el valor que sea cuando termines pincha el botón enviar
y veras que te llama a otra hoja donde escribe esos valores.
Si no funciona es porque se me ha pasado algo pero ese seria el funcionamiento.
Vamos, por lo que me dices. Mira, te explico un poco mejor. Quiero hacer una especie de tutorial de javascript. Es una practica para clase (estudio diseño y multimedia). A mi me toca explicar los strings. Tengo que hacer una descripción de cada uno de los métodos (anchor, link, italics...) y que el usuario pueda probar. Por eso te comentaba lo del toUpperCase.
Por ejemplo, lo ideal seria:
1.El usuario metiera en una caja de texto una palabra...
2.Al darle al botón (no se si se puede hacer...) que salga un alert con la palabra en mayúsculas (si saliera primero la palabra como la puso el usuario, y debajo la palabra en mayúsculas se saldría). No se si captas mi idea... ¿je je (ves como no tengo ni idea?)
Bueno, venga, tampoco te quiero dar demasiado la paliza... si ves que se puede hacer, cuando tengas tiempo me lo comentas. Oye, y muchas gracias... la verdad es que los expertos de aquí os portáis... en otras categorías no son tan enrollados. Un saludete.
Por ejemplo, lo ideal seria:
1.El usuario metiera en una caja de texto una palabra...
2.Al darle al botón (no se si se puede hacer...) que salga un alert con la palabra en mayúsculas (si saliera primero la palabra como la puso el usuario, y debajo la palabra en mayúsculas se saldría). No se si captas mi idea... ¿je je (ves como no tengo ni idea?)
Bueno, venga, tampoco te quiero dar demasiado la paliza... si ves que se puede hacer, cuando tengas tiempo me lo comentas. Oye, y muchas gracias... la verdad es que los expertos de aquí os portáis... en otras categorías no son tan enrollados. Un saludete.
- Compartir respuesta
- Anónimo
ahora mismo
Respuesta de mozesmoz
1
1
A mi se me ocurren dos formas de hacer todo esto:
1)Pasas el campo con el methodo de formulario get, en la siguiente página recoges el parámetro y lo conviertes a mayúsculas
o por el otro lado:
2) En la primera página conviertes el campo a mayúsculas, y en la siguiente coges el valor del campo.
Yo te he hecho un ejemplo con la 2ª forma (me parecía un poco más compleja de resolver, no mucho más, pero si sigues el código te darás cuente que hacerlo de la primera solo supone un par de modificaciones), he introducido bastantes comentarios, no obstante si tienes alguna duda más solo tienes que decirlo.
El ejemplo consta de dos páginas: page1.htm y page2.htm(ooooohhh! que original que soy...:)
La page 1 es donde esta el campo del formulario que queremos que se convierta a mayúsculas y ademas sea recogido en la page 2
page1.htm:
========
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Page 1</title>
<SCRIPT>
/*
Esta función convierte el valor de un campo de formulario a mayúsculas, el parámetro que le
pasamos p_txt es el campo en cuestión
En el caso de campos de texto deberiamos ejecutar la funcione en el
onKeyUp="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);"
onKeyDown="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);"
onKeyPress="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);"
*/
function CampoAMayuscuas(p_txt) {
if (p_txt) {
var sAux = new String();
sAux = p_txt.value;
p_txt.value = sAux.toUpperCase();
}
}
</script>
</head>
<body>
<!--
En el formulario es muy importante que pongas el método get, ya que sin el no aparecerá
el campo en la siguiente página, el action sera la página a la que queramos enviar el campo
-->
<FORM name="frmForm1" method="get" action="page2.htm">
otro campo: <Input type="Text" name="txtOtroTexto1"><br>
Campo a mayusculas : <INPUT type="Text" name="txtCampoAMayusculas" onKeyUp="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);" onKeyDown="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);" onKeyPress="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);"><br>
otro campo: <Input type="Text" name="txtOtroTexto2"><br>
otro campo: <Input type="Text" name="txtOtroTexto3"><br>
otro campo: <input type="Submit">
</form>
</body>
</html>
page2.htm:
======================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Page 2</title>
<SCRIPT>
/*
Busca valor Campo en url (vaya nombre más retorcido), devuelve el valor de un
// campo que se encuentre en una url
habiendo sido enviado en un formulario con el método get
p_sCampo = el nombre del campo en el formulario (obligatorio)
*/
function BuscaValorCampoEnUrl(p_sCampo) {
// Cogemos el valor de la localización de esta página,
// al utilizar el método get del formulario anterior vemos que aparece un
// txtCampoAMayusculas=[valor que hayamos introducido en el campo de la page 1]
var sUrl = new String(document.location);
// Si se pasa el parametro
if (p_sCampo) {
// primero busco el primer? Que encuentre, prueba irreputable de que se trata de
// llamada de otro formulario con el método get (ya se que soy un plasta diciendo lo mismo, pero
// si este método todo esto no vale pa na
var iIni = 0;
var iFin = 0;
var sAux = sUrl.substr(sUrl.search(p_sCampo + "="));
iIni = sUrl.search(p_sCampo + "=");
iFin = sAux.search("&");
// Si ha encontrado el campo
if (iIni) {
// si ha encontrado mas campos
if (iFin) {
// Devuelvo el valor de la url entre el campo buscado y el siguiente
return sUrl.substr(iIni + p_sCampo.length + 1, iFin - (p_sCampo.length + 1))
} else {
// Devuelvo el valor de la url desde el campo buscado
return sUrl.substr(iIni + p_sCampo.length + 1)
}
} else {
// saco un mensaje diciendo que el campo no ha sido encontrado en la url
alert("Campo no encontrado p_sCampo=" + p_sCampo);
// devuelvo falso
return false;
}
} else {
// saco un mensaje indicando que los parametros son obligatorios
alert("Los parametros son obligatorios :\n p_sCampo = " + p_sCampo + "\n sUrl = " + sUrl);
// devuelvo falso
return false;
}
}
// Almacenamos el valor enviado en la url para el campo (txtCampoAMayusculas), para ello
// llamamos a la funcion BuscaValorCampoEnUrl
var s_txtCampoAMayusculas = new String(BuscaValorCampoEnUrl("txtCampoAMayusculas"));
document.write("El valor que escribiste en el formulario anterior es : " + s_txtCampoAMayusculas);
</script>
</head>
<body>
</body>
</html>
Na más, espero que este ejemplo te saque de dudas de como usar el objeto string, los métodos del mismo y de como recoger datos con el método get de los formularios.
Salud3!
PD: si quieres ver más ejemplos de como usar métodos de objetos no tienes más que visitar la page de NS (http://developer.netscape.com/docs/manuals/communicator/jsref/index.htm) esta es la página con el reference de ns., clickea en index en el frame de la izquierda y te mostrara todos los contenidos, solo tienes que buscar el objeto que quieras y te saldrá toda la información del mismo, esta en ingles, que le vamos a hacer :)
1)Pasas el campo con el methodo de formulario get, en la siguiente página recoges el parámetro y lo conviertes a mayúsculas
o por el otro lado:
2) En la primera página conviertes el campo a mayúsculas, y en la siguiente coges el valor del campo.
Yo te he hecho un ejemplo con la 2ª forma (me parecía un poco más compleja de resolver, no mucho más, pero si sigues el código te darás cuente que hacerlo de la primera solo supone un par de modificaciones), he introducido bastantes comentarios, no obstante si tienes alguna duda más solo tienes que decirlo.
El ejemplo consta de dos páginas: page1.htm y page2.htm(ooooohhh! que original que soy...:)
La page 1 es donde esta el campo del formulario que queremos que se convierta a mayúsculas y ademas sea recogido en la page 2
page1.htm:
========
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Page 1</title>
<SCRIPT>
/*
Esta función convierte el valor de un campo de formulario a mayúsculas, el parámetro que le
pasamos p_txt es el campo en cuestión
En el caso de campos de texto deberiamos ejecutar la funcione en el
onKeyUp="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);"
onKeyDown="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);"
onKeyPress="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);"
*/
function CampoAMayuscuas(p_txt) {
if (p_txt) {
var sAux = new String();
sAux = p_txt.value;
p_txt.value = sAux.toUpperCase();
}
}
</script>
</head>
<body>
<!--
En el formulario es muy importante que pongas el método get, ya que sin el no aparecerá
el campo en la siguiente página, el action sera la página a la que queramos enviar el campo
-->
<FORM name="frmForm1" method="get" action="page2.htm">
otro campo: <Input type="Text" name="txtOtroTexto1"><br>
Campo a mayusculas : <INPUT type="Text" name="txtCampoAMayusculas" onKeyUp="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);" onKeyDown="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);" onKeyPress="CampoAMayuscuas(document.frmForm1.txtCampoAMayusculas);"><br>
otro campo: <Input type="Text" name="txtOtroTexto2"><br>
otro campo: <Input type="Text" name="txtOtroTexto3"><br>
otro campo: <input type="Submit">
</form>
</body>
</html>
page2.htm:
======================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Page 2</title>
<SCRIPT>
/*
Busca valor Campo en url (vaya nombre más retorcido), devuelve el valor de un
// campo que se encuentre en una url
habiendo sido enviado en un formulario con el método get
p_sCampo = el nombre del campo en el formulario (obligatorio)
*/
function BuscaValorCampoEnUrl(p_sCampo) {
// Cogemos el valor de la localización de esta página,
// al utilizar el método get del formulario anterior vemos que aparece un
// txtCampoAMayusculas=[valor que hayamos introducido en el campo de la page 1]
var sUrl = new String(document.location);
// Si se pasa el parametro
if (p_sCampo) {
// primero busco el primer? Que encuentre, prueba irreputable de que se trata de
// llamada de otro formulario con el método get (ya se que soy un plasta diciendo lo mismo, pero
// si este método todo esto no vale pa na
var iIni = 0;
var iFin = 0;
var sAux = sUrl.substr(sUrl.search(p_sCampo + "="));
iIni = sUrl.search(p_sCampo + "=");
iFin = sAux.search("&");
// Si ha encontrado el campo
if (iIni) {
// si ha encontrado mas campos
if (iFin) {
// Devuelvo el valor de la url entre el campo buscado y el siguiente
return sUrl.substr(iIni + p_sCampo.length + 1, iFin - (p_sCampo.length + 1))
} else {
// Devuelvo el valor de la url desde el campo buscado
return sUrl.substr(iIni + p_sCampo.length + 1)
}
} else {
// saco un mensaje diciendo que el campo no ha sido encontrado en la url
alert("Campo no encontrado p_sCampo=" + p_sCampo);
// devuelvo falso
return false;
}
} else {
// saco un mensaje indicando que los parametros son obligatorios
alert("Los parametros son obligatorios :\n p_sCampo = " + p_sCampo + "\n sUrl = " + sUrl);
// devuelvo falso
return false;
}
}
// Almacenamos el valor enviado en la url para el campo (txtCampoAMayusculas), para ello
// llamamos a la funcion BuscaValorCampoEnUrl
var s_txtCampoAMayusculas = new String(BuscaValorCampoEnUrl("txtCampoAMayusculas"));
document.write("El valor que escribiste en el formulario anterior es : " + s_txtCampoAMayusculas);
</script>
</head>
<body>
</body>
</html>
Na más, espero que este ejemplo te saque de dudas de como usar el objeto string, los métodos del mismo y de como recoger datos con el método get de los formularios.
Salud3!
PD: si quieres ver más ejemplos de como usar métodos de objetos no tienes más que visitar la page de NS (http://developer.netscape.com/docs/manuals/communicator/jsref/index.htm) esta es la página con el reference de ns., clickea en index en el frame de la izquierda y te mostrara todos los contenidos, solo tienes que buscar el objeto que quieras y te saldrá toda la información del mismo, esta en ingles, que le vamos a hacer :)
¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola? ¿Hola?
- Compartir respuesta
- Anónimo
ahora mismo
Respuesta de alisal
1
1
Intentaré responder lo mejor que pueda y espero que te sirva.
Verás:
1.- En el formulario debes colocar un evento onclick en el botón submit.
2.- Deberás crear una función para ese evento. Dentro de esa función creas una variable que recoja o asigne el resultado de la función open (abrir una página nueva).
3.- Ten una página sin nada o con un texto mínimo.
4.- A continuación podrías generar la página como sigue:
function nuevo() {
var abre=open('photo.htm','pagina');
abre.document.write('<HTML><BODY BGCOLOR="white">'
+'<CENTER>En un lugar de la mancha....</center>'
+'</body></html>');
}
Bueno.
Verás:
1.- En el formulario debes colocar un evento onclick en el botón submit.
2.- Deberás crear una función para ese evento. Dentro de esa función creas una variable que recoja o asigne el resultado de la función open (abrir una página nueva).
3.- Ten una página sin nada o con un texto mínimo.
4.- A continuación podrías generar la página como sigue:
function nuevo() {
var abre=open('photo.htm','pagina');
abre.document.write('<HTML><BODY BGCOLOR="white">'
+'<CENTER>En un lugar de la mancha....</center>'
+'</body></html>');
}
Bueno.
- Compartir respuesta
- Anónimo
ahora mismo
Respuesta de tresvdoble
-1
-1
- Compartir respuesta
- Anónimo
ahora mismo