PDA

Ver la Versión Completa : Buscar dentro de la página Web


Tonio
10-09-2007, 18:16:53
Vamos a ver si me aclaro.
Tengo un sitio Web, con varias páginas, entre ellas una que contiene un diccionario, un diccionario cuyas definiciones informan sobre temas de la página, qué debo hacer para que el usuario que entra en la página, quiere ver la definición de una palabra, la escriba y al hacer 'click' u otra cosa, vaya a la página donde está el diccionario y la abra, si está claro.

La definición de cada palabra, está contenida en una página.

¿Qué debo hacer para que lo que el ha escrito, lo ponga en <a href ="diccionario/lo que él ha escrito(la palabra).htm" ></a> y me vaya a esa página.

No se si está claro, pero de verdad que he leído, para esto, más páginas que en toda mi vida, exagerando un poco claro.

Gracias de antemano y un saludo.
Tonio.

dec
10-09-2007, 18:27:23
Hola,

Pues sin muchos quebraderos de cabeza...



<script type="text/javascript">

function MostrarPalabra(palabra){
window.location = 'urltudiccionario.html#'+palabra;
return true;
}

</script>

<form action="none" onsubmit="MostrarPalabra(this.palabra.value);">
<input type="text" name="palabra" />
<input type="submit" value="Ver significado" />
</form>



El código es HTML y JavaScript, lo resalto como PHP para que se vea mejor. ¿Qué se supone que hacemos? Pues no lo he probado, pero, la idea es que alguien escriba en una casilla de edición de texto una palabra y a continuación haga clic en el botón "Ver significado".

La función "MostrarPalabra()" se ocupará de cargar la URL del diccionario, pasando la palabra como un "ancla", esto es, algo así:


http://www.tusitio.com/tudiccionario.html#palabra


De modo que si en "tudiccionario.html" hay un "ID" que coincida con "palabra" será el que se muestre. Supongo que conoces esto de las "anclas" en HTML.

Por otro lado... ahora mismo ignoro si JavaScript puede acceder a los parámetros de las URLs, aunque es de suponer que así sea. Si esto es así puedes, en lugar de usar "anclas", usar parámetros, que recogerías en "tudiccionario.html" para redigir al usuario a donde fuera preciso.

Actualización: Como cabía esperar una simple búsqueda en Google (http://www.google.es/search?hl=es&q=URL+params+with+JavaScript&btnG=Buscar+con+Google&meta=) muestra que JavaScript puede acceder a los parámetros de las URLs.

ingmichel
11-09-2007, 00:16:25
hola como estas, vi el foro y este script me da problema, no logro hacer que la pagina busca las `palabras, dices que en form action hay que dejarlo vacio ? mi codigo es este:

<script type="text/javascript">

function MostrarPalabra(palabra){
window.location = 'DICCIONARIO.htm#'+palabra;
return true;
}

y en el form action:
form action="diccionario.htm" onsubmit="MostrarPalabra(this.palabra.value);">
<p class="Estilo2">PALABRA
<input name="titulo" type="text" id="titulo">
</p>

dec
11-09-2007, 00:31:56
Hola,


vi el foro y este script me da problema (...)


¿Qué problema?


(...) en form action hay que dejarlo vacio ?


Si lo haces tal y como yo propuse arriba, sí, porque no es necesario usar el "action" del formulario.

Tonio
11-09-2007, 19:04:51
Gracias por vuestras rápidas y buenas respuestas, yo se que no sois vosotros, el que no sabe ni papa soy yo, seguramente ni para hacer la pregunta.

Estoy probando con éste código.

En el 'input' me ponen la 'palabra' a buscar y la función le quita los espacios en blanco.

Al ser la 'palabra' una página no debe tener espacios.


<html>
<head>
<title>Palabras</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center>

<SCRIPT LANGUAGE="JavaScript">
temp="";
direccion = "";
<!--
function replaceChars(entry) {
out = " "; // reemplazar la letra a
add = ""; // por la letra z
temp = "" + entry;


while (temp.indexOf(out)>-1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add +
temp.substring((pos + out.length), temp.length));
}
document.subform.text.value = temp;

<!-- --> Aquí asigno a dirección:

1.- Diccionario: La carpeta donde está el diccionario.
2.- Lo que me ponen en el form (sin espacios)+ la extensión .htm.

Hasta aquí he comprobado que funciona, si no he copiado mal el texto. --¡>

direccion = "Diccionario/"+direccion+".htm";
return direccion;
}
// -->

</script>

<form name="form">
<input type="text" name="ctexto">
<input type="button" value="Escribe la palabra"onClick = "leer()">

</form>

</body>
</html>


Ahora quiero hacer:
Y esto es el problema.


<a href=direccion>Buscar la Palabra</a>


Seguramente se puede hacer con menos código, todo en la misma función, o hay que poner mucho más, pero esto es lo que yo deseo hacer, de ésta forma o quizá de la que me decís, pero he hecho muchas pruebas y no me sale, mi ignorancia que es mucha, así que seguramente algo no agrego a vuestros scrips, algo que seguramente dáis por sabido o cómo digo no se ni hacer la pregunta.

Lo de buscar en Google, si, pero mi lio es que muchas veces no distingo lo que es texto de lo que es codificación, todo en inglés...

Gracias por vuestra comprensión hacia mis fallos.
Un saludo.
Tonio.