Foros del Web » Programando para Internet » Javascript »

Rapidito...

Estas en el tema de Rapidito... en el foro de Javascript en Foros del Web. hola gente, tengo este codigo de un buscador : <form method="GET" name="search" onSubmit="return initiateSearch(this)"> <table summary="Search" width="92%" align="left" bgcolor="#FFFF66"> <tr> <th width="13%" align="left" bgcolor="#FFFF66"> <p>Search</p> ...
  #1 (permalink)  
Antiguo 24/01/2005, 06:15
 
Fecha de Ingreso: enero-2005
Mensajes: 78
Antigüedad: 19 años, 3 meses
Puntos: 0
Rapidito...

hola gente, tengo este codigo de un buscador :

<form method="GET" name="search" onSubmit="return initiateSearch(this)">
<table summary="Search" width="92%" align="left" bgcolor="#FFFF66">

<tr>

<th width="13%" align="left" bgcolor="#FFFF66">
<p>Search</p>
</th>
<th width="87%" align="left">

<input type="text" name="q" size="10" maxlength="100">
<input name="submit" type="submit" value="GO">


</th>
</tr>

<tr>

<th align="left" bgcolor="#FFFF66">Use</th>
<th align="left" bgcolor="#FFFF66">

<Select name="crawler">

</Select>
</th>
</tr>


</table>
</form>

.... y lo que quiero hacer es que me devuelva la busqueda en otra pagina, no en la misma como lo hace ahora. Dado que tengo una pagina separada por un frame, la idea es que tenga el buscador en la izquierda de la pantalla, y los resultados se muestren en la derecha.
Que le tengo que poner a este codigo para que me muestre los resultados en una pagina nueva???

Gracias!!!!
  #2 (permalink)  
Antiguo 24/01/2005, 06:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola kayioshin:

Con lo que muestras me parece imposible darte respuesta... Pero en principio el resultado del envío de un formulario se direcciona con el atributo target del form (que no está definido), pero lo más importante es que tampoco está definido el destino (atributo action).

La clave está en la función initiateSearch().

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 24/01/2005, 06:43
 
Fecha de Ingreso: enero-2005
Mensajes: 78
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta...

Hola Carigatos, gracias por contestar!!
Te cuento que no tengo mucha idea de todo esto, es nuevo para mi...
Podrias explicarme como funcionan el "target" (con sus 4 opciones), y el "action" ??? dices que la clave está ahi, como ??

Gracias!!!
  #4 (permalink)  
Antiguo 24/01/2005, 07:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Me cambiaste el nombre...

Lo que pasa es que el atributo target tiene que ser la ventana destino del formulario, en ocasiones puede asignarse durante el envío del formulario con el evento onsubmit(), y ese evento, en tu caso lo gestiona la función initiateSearch().

En esa función debería modificarse el atributo target del formulario para que funcionase como pretendes, pero no nos has facilitado su código...

Básicamente sería:

function initiateSearch(cosa) {
...
cosa.target = "frameDerecha";
...
}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 24/01/2005, 07:24
 
Fecha de Ingreso: enero-2005
Mensajes: 78
Antigüedad: 19 años, 3 meses
Puntos: 0
Carigatos..... : el codigo que me dices que no te he pasado, si no está dentro del que te pasé antes,no sé cuál es..... ese codigo, asi como esta funciona....

asi es como está : onSubmit="return initiateSearch(this)" , no hay nada del codigo que no te haya pasado....
Crees que no se puede hacer?

Saludos.
  #6 (permalink)  
Antiguo 24/01/2005, 07:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

initiateSearch() no es una función estándar javascript, así que debe estar definida en alguna parte... posiblemente tengas en tu página una etiqueta script, en donde esté definida esa función.
Podría haber problemas si es un script externo a tu página, pero lo primero tendría que ser descubrir ese script.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 24/01/2005, 07:47
 
Fecha de Ingreso: enero-2005
Mensajes: 78
Antigüedad: 19 años, 3 meses
Puntos: 0
lo encontre!!!!!

aca esta!!!

<script language="JavaScript" type="text/javascript">
<!--
var crawlername = new Array("Google","Yahoo","Altavista (Raging)");
var crawleraction = new Array("http://www.google.com/search?q=","http://search.yahoo.com/bin/search?p=","http://www.altavista.com/sites/search/res_text?q=");

function populateCrawlers()
{
var d=0,startcount=0,option;
for (d=0;d<crawlername.length;d++)
{
option = new Option(crawlername[d],crawleraction[d]);
document.search.crawler.options[startcount] = option;
startcount++;
}
}

function initiateSearch(x)
{
var url;
url = x.crawler.options[x.crawler.selectedIndex].value+x.q.value;
self.location.href = url;
return (false);
}
//-->
</script>


bien, ahora, donde dices que hay que colocar el target??? o, que es lo que hay que hacer???

Saludos.
  #8 (permalink)  
Antiguo 24/01/2005, 08:07
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

No te prometo que funcione a la primera, pero vamos a intentarlo:


function initiateSearch(x)
{
var url;
url = x.crawler.options[x.crawler.selectedIndex].value+x.q.value;
self.location.href = url;return (false);
}

Donde pone self.location.href = url;
Tendrías que poner:
parent.destino.location.href = url;

Y "destino" (en azul) debería ser el nombre asignado al frame donde quieras que se muestren los resultados.

Espero que te sirva.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 24/01/2005, 08:30
 
Fecha de Ingreso: enero-2005
Mensajes: 78
Antigüedad: 19 años, 3 meses
Puntos: 0
hola, mirá.... no sé si te he entendido bien, pero quiero mostrar el resultado de la busqueda en una pagina llamada Restultado.htm, asi que hice esto:

parent.Resultado.location.href = url

esta bien????, porque lo he probado y no funciona....

debe ser una bobada el error....no?

Gracias.
  #10 (permalink)  
Antiguo 25/01/2005, 17:13
Avatar de xindi  
Fecha de Ingreso: enero-2005
Mensajes: 25
Antigüedad: 19 años, 3 meses
Puntos: 0
Perdonen la intromision, en tu pagina donde tienes los frames en el tag donde pones las especificaciones de la liga de la pagina etc. tienes

<frame name="mainFrame" src="principal.html">

aqui puedes ponerle un identificador a tu frame, que es a lo que Caricatos llama target o nombre del frame, en este caso lo llame "mainframe"

entonces en lugar de tener

parent.Resultado.location.href = url

tendrias

parent.mainframe.location.href = url
  #11 (permalink)  
Antiguo 26/01/2005, 06:21
 
Fecha de Ingreso: enero-2005
Mensajes: 78
Antigüedad: 19 años, 3 meses
Puntos: 0
XINDI , MUCHISIMAS GRACIAS!!!!!!!!!!!!!!!!!!!!!
CARIGATOS, MUCHAS GRACIAS !!!!!!!!!!!!!!!!!!!

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:41.