1input 2verschillende submit

Status
Niet open voor verdere reacties.

Doomic

Gebruiker
Lid geworden
30 jan 2007
Berichten
96
ik ben op mijn site bezig met een zoekfunctie. nu wil ik 1input (dus waar je kan schrijven wat je zoekt) en 2submit (1submit om te zoeken op mijn pagina en 1 submit om te zoeken op google)
later wil ik nog een 3e submit toevoegen om te zoeken op mijn site, maar voorlopig lukt me dit nog niet eens.
heeft iemand een id hoe dat moet?

code om te zoeken op mijn pagina:
Code:
SCRIPT LANGUAGE="JavaScript"> 

<!-- Begin
var item = new Array();

/* Breng hieronder de wijzigingen aan met betrekking tot je eigen website.
Je vult in : 

De naam van je pagina 
De map waarin deze pagina staat, als het in een aparte map staat (dit moet eindigen met /). Staat deze pagina niet in een aparte map, zet er dan niets neer. 
Titel van de pagina 
Trefwoorden over jouw pagina. Je scheidt ze me een komma 
Een toelichting 
*/ 
// "paginanaam","pad","paginatitel","tref,woor,den","commentaar"

c=0; item[c]=new Array("index.html","","index","begin,homepage,start,pagina,index","De homepage van mijn pagina");
c++; item[c]=new Array("fotos.html","","Mijn foto's","foto, ikke, fotos, pics, familie","Fotos van mij en mn familie ");
c++; item[c]=new Array("links.html","","Links naar andere sites","links, andere, pagina's, sites","Klik door naar mijn lievelingssites");
c++; item[c]=new Array("hondje.jpg","pictures/","Foto van mijn hond","hond, foto","Bekijk de foto van mijn hond "); 

/* Hier geef je de eigenschappen van de pagina met daarop de zoekresultaten aan */

page="<html><head><title>Zoekresultaten</title><link rel=stylesheet href=mijnstylesheet.css></head><body bgcolor='white'><p>Zoekresultaten</p><p align=center>De links openen in dit venster. Je kunt het vorige venster sluiten.</p><center><table border=0 cellspacing=10 width=80%>";


/* Nu komt er een heel stuk code. Hier snap je waarschijnlijk niets van, maar dat is ook niet nodig. */
function search(frm) {
win = window.open("","","titlebar=yes,location=yes,scrollbars=yes,resizable=yes,toolbar=yes,statusbar=yes,menubar=yes");
win.document.write(page);
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.document.write("</table><br>Totaal gevonden : "+total+"<br></body></html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0]; 
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a> &nbsp;&nbsp;Score: "+num+"<br>";
line += item[which][4] + "<br>"+link+"</td></tr>";
wind.document.write(line);
return 1;
}
// End -->
</script> 
</head>

<body>
<form method=get action="javascript:void(0)" onsubmit="search(this); return false;">
<table align="center" border=0 cellspacing=2 valign="middle">
<tr>
<td>
<input type=text name=srchval value="">
</td>
<td>
<input type=submit value="Zoek">
</td>
</tr>
</table>
</form>

code om te zoeken op google:
Code:
<FORM method=GET action="http://www.google.nl/search"><INPUT TYPE=text name=q size=20 maxlength=255 value="">&nbsp;<INPUT type=submit name=btnG VALUE="Google">


verder heb ik nog een vraag over <form> wanneer ik namelijk alleen bijvoorbeeld google form op mijn site zet dan krijg ik een lege regel terwijl ik eigenlijk de onderkant van de tabel waar hij in staat er tegenaan wil hebben (en dus geen regel afstand). is dat oplosbaar?
 
Het kan op meerder manieren, bijvoorbeeld zo:
PHP:
<script type="text/javascript">
<!-- Begin
var item = new Array();

/* Breng hieronder de wijzigingen aan met betrekking tot je eigen website.
Je vult in : 

De naam van je pagina 
De map waarin deze pagina staat, als het in een aparte map staat (dit moet eindigen met /). Staat deze pagina niet in een aparte map, zet er dan niets neer. 
Titel van de pagina 
Trefwoorden over jouw pagina. Je scheidt ze me een komma 
Een toelichting 
*/ 
// "paginanaam","pad","paginatitel","tref,woor,den","commentaar"

c=0; item[c]=new Array("index.html","","index","begin,homepage,start,pagina,index","De homepage van mijn pagina");
c++; item[c]=new Array("fotos.html","","Mijn foto's","foto, ikke, fotos, pics, familie","Fotos van mij en mn familie ");
c++; item[c]=new Array("links.html","","Links naar andere sites","links, andere, pagina's, sites","Klik door naar mijn lievelingssites");
c++; item[c]=new Array("hondje.jpg","pictures/","Foto van mijn hond","hond, foto","Bekijk de foto van mijn hond "); 

/* Hier geef je de eigenschappen van de pagina met daarop de zoekresultaten aan */

page="<html><head><title>Zoekresultaten</title><link rel=stylesheet href=mijnstylesheet.css></head><body bgcolor='white'><p>Zoekresultaten</p><p align=center>De links openen in dit venster. Je kunt het vorige venster sluiten.</p><center><table border=0 cellspacing=10 width=80%>";


/* Nu komt er een heel stuk code. Hier snap je waarschijnlijk niets van, maar dat is ook niet nodig. */
function search(frm) {
win = window.open("","","titlebar=yes,location=yes,scrollbars=yes,resizable=yes,toolbar=yes,statusbar=yes,menubar=yes");
win.document.write(page);
// txt = frm.srchval.value.split(" ");
txt = frm.q.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.document.write("</table><br>Totaal gevonden : "+total+"<br></body></html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0]; 
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a> &nbsp;&nbsp;Score: "+num+"<br>";
line += item[which][4] + "<br>"+link+"</td></tr>";
wind.document.write(line);
return 1;
}
// End -->
</script>

<form style="margin: 4px;" method="get" action="http://www.google.nl/search">
 <input type="text" name="q" size="20" maxlength="255" value="">
 <input type="button" value="Zoek" onclick="search(this.form)">
 <input type="button" value="Google" onclick="submit(this.form)">
</form>
In het script is dit verandert:
// txt = frm.srchval.value.split(" ");
txt = frm.q.value.split(" ");

zo werkt het met hetzelfde tekstvakje.

De zoek-knop gebruikt de functie search() en de google-knop submit het formulier.

style="margin: 4px;" in de form-tag zorgt ervoor dat het formulier beter aansluit, 0px kan ook. :)


Vr.Gr. Egel.
 
Laatst bewerkt:
bedankt. het was weliswaar niet het volledige wat ik zoe, maar dat maakt niet uit. hier ben ik heel blij mee.
 
Script aanpassen om in dezelfde pagina te openen

Hallo allen,

Ik heb pas sinds kort dit forum ontdekt en wil meteen een vraagje opwerpen. Ik ben zeer te spreken over dit script, maar wil de zoekresultaten graag in dezelfde pagina laten openen. Nu dacht ik in mijn eenvoud de regel 'win = window.open....." weg te laten en alle win.document.write... regels te wijzigen in document.write... om dit voor elkaar te krijgen.

Helaas werkt dit dus blijkbaar niet zo eenvoudig en heb ik hier duidelijk nog geen kaas van gegeten. Op de één of andere manier opend het script dan wel in dezelfde pagina, maar zonder resultaten weer te geven.

Misschien kan iemand hier wat meer over zeggen?\

Groeten, Leo
 
ik heb nog geen antwoord, maar ik wil binnenkort dit ook gaan proberen om het op de zelfde pagina te openen, dus dan hoor je nog wel van me ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan