Click to See Complete Forum and Search --> : Result in frame, not in window


jgmiddel
09-02-2003, 11:40 AM
Hi,

Any help woul be appriciated to help me with the following: the javascript beneath creates a HTML docement with search results. The results will be wriiten in a new document, in a new popup window. However I tried, I did not succeed to show the search results in a frame. My document has two frames, in the frame "Left"is the searchbox, I would like the serach results to appear in the frame "Head".

Thanks,

Gert-Jan

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Nieuwe pagina 1</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Dion (biab@iinet.net.au) -->
<!-- Web Site: http://www.iinet.net.au/~biab -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

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

/* Here is where all the magic happens.
Just enter as many additional pages that
that you want to search, then fill in the
additional listings for each page.
*/

// "Page Name","path","Page Title","Many,Key,Words","Descriptive Comments"

c=0; item[c]=new Array("index.html","","DemoSite","index,main,start,home,front","Demonstration search engine data about an imagined but probable internet site.");
c++; item[c]=new Array("about.htm","","About Me","about,author,contact,email,who","Contact details and general information about the creator of the site and what the site is about.");
c++; item[c]=new Array("links.htm","","Links page","links,more,where,similar,friends","Links to my favourite sites which I find interesting. Other friends sites which have similar interests to my own.");
c++; item[c]=new Array("main.htm","main/","Main Page","content,main,focus","The main part of my site which contains what you have come to see. Lots of stuff like that and more great things. All in a sub directory.");
c++; item[c]=new Array("logo.jpg","main/images/","Link Logo","link,image,logo,graphic","The logo.jpg is just a small image which you can place on your site as a link to me. It's in a second level subdirectory.");

page="<html><head><title>Search Results</title></head><body bgcolor='white'><center><table border=0 cellspacing=10 width=80%>";


function search(frm) {
win = window.open("","","scrollbars");
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>Total found: "+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> Score: "+num+"<br>";
line += item[which][4] + "<br>"+link+"</td></tr>";
wind.document.write(line);
return 1;
}
// End -->
</script>
</head>

<body>

<center>

<form method=get action="javascript:void(0)" onsubmit="search(this); return false;">
<table>
<tr><td><input type=text name=srchval value=""><input type=submit value="Search"></td></tr>
</form>

</center>

</body>

Khalid Ali
09-02-2003, 12:22 PM
You need to direct the out put to the frame not to the window

win = window.open("","","scrollbars");

in the line above you create new window and then print data in that windows document
win.document.write(page);


What you should do is target the frame something like this

win = parent.frameName;

and thats about all the changes you should need to make ,rest of the code in your script should work as it is.

jgmiddel
09-02-2003, 01:42 PM
Thanks Khalid, it works. Life is more simple than I thuoght it was.

Khalid Ali
09-02-2003, 01:51 PM
you are welcome.
you are right life is more simple in most cases,until and unless its simplicity is tempered with by "us" humans..:D