PDA

View Full Version : dire a uno script di ricerca dove visualizzare il contenuto


glazio
10-03-2006, 19:41
ragazzi, sto diventando pazzo...
ho questo script di ricerca che devo personalizzare. Praticamente una volta inserito il testo di ricerca, questo va visualizzato in un iframe sottostante, invece attualmente si collega direttamente al link del motore di ricerca.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<!-- Inizio Sezione JavaScript -->
<script language="JavaScript">
<!--
function startSearch(){
searchString = document.searchForm.searchText.value;
if(searchString != ""){
searchEngine = document.searchForm.whichEngine.selectedIndex + 1;
finalSearchString = "";
if(searchEngine == 1){
finalSearchString = "http://it.search.yahoo.com/search/it?p=" + searchString;
}
if(searchEngine == 2){
finalSearchString = "http://www.google.com/search?ie=UTF-8&q=" + searchString;
}
if(searchEngine == 3){
finalSearchString = "http://a9.com/" + searchString;
}
if(searchEngine == 4){
finalSearchString = "http://s.teoma.com/search?q=" + searchString;
}
if(searchEngine == 5){
finalSearchString = "http://www.godado.it/godado.pperl/?Keywords=" + searchString;
}
if(searchEngine == 6){
finalSearchString = "http://arianna.libero.it/search/abin/search?query=" + searchString;
}
location.href = finalSearchString;
}
}
// -->
</script>
<!-- Fine Sezione JavaScript -->

</HEAD>

<BODY>

<!-- Inizio Sezione Pagina Web -->
<form name="searchForm">
<table style="font-family: verdana;" width="450" border="0" cellspacing="0" cellpadding="0" BGCOLOR="#cccccc" align="center"><tr><td><TABLE class="tabella" width="450" border="0" cellPadding="2" cellSpacing="1">
<tr>
<td bgcolor="#ffffff">Cerca: <input style="background: #CCCCCC" name="searchText" type="text"></td>
<td bgcolor="#ffffff">Sul sito: <select style="background: #FFFFFF" name="whichEngine">
<option selected>Yahoo!
<option>Google
<option>A9
<option>Teoma
<option>Godado
<option>Arianna</select>
</td>
<td bgcolor="#ffffff">
<input type="button" value="Search" onClick="startSearch()">
</td>
</tr>
</table></td></tr></table><BR><BR>
</form>
<!-- Fine Sezione Pagina Web -->



</BODY>
</HTML>
sono nelle vostre mani...

andbin
10-03-2006, 20:21
Non è difficile. Dopo il tuo form (e prima della chiusura del body) metti ad esempio:
<iframe id="if1" frameborder="0" scrolling="yes" width="100%" height="400"></iframe>
e nello script invece di "location.href = finalSearchString;" metti:
document.all.if1.src = finalSearchString;
Poi l'aspetto personalizzatelo tu. ;)

glazio
10-03-2006, 21:06
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
</head>

<body><HEAD>
<!-- Inizio Sezione JavaScript -->
<script language="JavaScript">
<!--
function startSearch(){
searchString = document.searchForm.searchText.value;
if(searchString != ""){
searchEngine = document.searchForm.whichEngine.selectedIndex + 1;
finalSearchString = "";
if(searchEngine == 1){
finalSearchString = "http://it.search.yahoo.com/search/it?p=" + searchString;
}
if(searchEngine == 2){
finalSearchString = "http://www.google.com/search?ie=UTF-8&q=" + searchString;
}
if(searchEngine == 3){
finalSearchString = "http://a9.com/" + searchString;
}
if(searchEngine == 4){
finalSearchString = "http://s.teoma.com/search?q=" + searchString;
}
if(searchEngine == 5){
finalSearchString = "http://www.godado.it/godado.pperl/?Keywords=" + searchString;
}
if(searchEngine == 6){
finalSearchString = "http://arianna.libero.it/search/abin/search?query=" + searchString;
}
document.all.if1.src = finalSearchString;
}
}
// -->
</script>
<!-- Fine Sezione JavaScript --><BODY>

<!-- Inizio Sezione Pagina Web -->
<form name="searchForm">
<table style="font-family: verdana;" width="450" border="0" cellspacing="0" cellpadding="0" BGCOLOR="#cccccc" align="center"><tr><td><TABLE class="tabella" width="450" border="0" cellPadding="2" cellSpacing="1">
<tr>
<td bgcolor="#ffffff">Cerca: <input style="background: #CCCCCC" name="searchText" type="text"></td>
<td bgcolor="#ffffff">Sul sito: <select style="background: #FFFFFF" name="whichEngine">
<option selected>Yahoo!
<option>Google
<option>A9
<option>Teoma
<option>Godado
<option>Arianna</select>
</td>
<td bgcolor="#ffffff">
<input type="button" value="Search" onClick="startSearch()">
</td>
</tr>
</table></td></tr></table><BR><BR>
</form>
<!-- Fine Sezione Pagina Web -->
<iframe id="if1.php" frameborder="0" scrolling="yes" width="100%" height="400"></iframe>




</BODY>
</HTML>
</body>
</html>
ciao, l'ho impostato così ma non va.
il problema puo' essere qui perchè devo impostare l'estensione del file?

document.all.if1.src = finalSearchString;


grazie

andbin
10-03-2006, 21:16
<iframe id="if1.php" frameborder="0" scrolling="yes" width="100%" height="400"></iframe>
Non devi mettere id="if1.php". L'attributo "id" è l'identificativo dell'oggetto all'interno della pagina e basta, non un riferimento ad un file. Quindi solo id="if1" (e chiaramente devi metterlo uguale nello script, cioè document.all.if1.src = finalSearchString; ).

glazio
10-03-2006, 21:32
non va lo stesso. facendo quelle modifiche che mi hai detto tu, non effettua proprio la ricerca http://www.hardwareclocks.com/prova.php
forse non mi sono spiegato bene io... quando clicco su SEARCH sui si collega al motore di ricerca es. yahoo e mi visualizza tutta la sua pagina.
io vorrei che questa pagina di yahoo venga visualizzata in un iframe della pagina xxxx.php

andbin
10-03-2006, 22:01
non va lo stesso. facendo quelle modifiche che mi hai detto tu, non effettua proprio la ricerca http://www.hardwareclocks.com/prova.php
forse non mi sono spiegato bene io... quando clicco su SEARCH sui si collega al motore di ricerca es. yahoo e mi visualizza tutta la sua pagina.
io vorrei che questa pagina di yahoo venga visualizzata in un iframe della pagina xxxx.php
Nella pagina che hai indicato vedo in questo momento che hai usato il doctype del xhtml e ci sono parecchi errori nelle sequenze dei tag (2 volte aperto HEAD, 2 volte aperto BODY, ecc....). Correggi e poi riprova.

Ma fammi capire: vuoi che la pagina del motore di ricerca sia aperta in un iframe nella stessa pagina (senza cioè ricaricare la pagina principale) o vuoi caricare proprio un'altra pagina (xxxx.php) che contiene all'interno un iframe di cui settare il src???
Nel primo caso bastano le modifiche che ho detto io. Le ho provate sul tuo codice iniziale (del primo post) e funzionano.

glazio
11-03-2006, 12:12
Nella pagina che hai indicato vedo in questo momento che hai usato il doctype del xhtml e ci sono parecchi errori nelle sequenze dei tag (2 volte aperto HEAD, 2 volte aperto BODY, ecc....). Correggi e poi riprova.

Ma fammi capire: vuoi che la pagina del motore di ricerca sia aperta in un iframe nella stessa pagina (senza cioè ricaricare la pagina principale) o vuoi caricare proprio un'altra pagina (xxxx.php) che contiene all'interno un iframe di cui settare il src???
Nel primo caso bastano le modifiche che ho detto io. Le ho provate sul tuo codice iniziale (del primo post) e funzionano.
è uguale per me, diciamo nella stessa pagina in un iframe sottostante.
provo a correggere e ti dico

glazio
11-03-2006, 12:17
grazie, ho risolto!
se invece vorrei che la ricerca venga visualizzata in un iframe di un'altra pagina che devo modificare?
perchè adesso mi rimane troppo spazio bianco nella pagina iniziale di ricerca...

andbin
11-03-2006, 13:11
se invece vorrei che la ricerca venga visualizzata in un iframe di un'altra pagina che devo modificare?
Beh, non è difficile neanche questo. Visto che tu hai già un form di ricerca, basta che nel tag <form> metti gli attributi method="post" e action="newpage.php". Ovviamente devi togliere tutto ciò che riguarda lo script in Javascript, in quanto non userai più Javascript ma solo l'interazione con una pagina php.
Quando invii il form, la pagina php riceverà i parametri nell'array $_POST. A quel punto crei dinamicamente la pagina in modo da mettere un iframe con l'attributo src al valore che vuoi.

glazio
11-03-2006, 13:29
Beh, non è difficile neanche questo. Visto che tu hai già un form di ricerca, basta che nel tag <form> metti gli attributi method="post" e action="newpage.php". Ovviamente devi togliere tutto ciò che riguarda lo script in Javascript, in quanto non userai più Javascript ma solo l'interazione con una pagina php.
Quando invii il form, la pagina php riceverà i parametri nell'array $_POST. A quel punto crei dinamicamente la pagina in modo da mettere un iframe con l'attributo src al valore che vuoi.
sinceramente non ho capito un cavolo!!
lascio tutto così è meglio :D

glazio
11-03-2006, 13:32
cmq adesso ci provo lo stesso

glazio
11-03-2006, 13:43
ultima domandina....
se invece del menu " a tendina" vorrei mettere più pulsanti di scelta cosa devo fare?
io ho provato a sostituirlo, ma non effettua la ricerca, come se non gli do' invio...nada....