Jump to content

Archived

This topic is now archived and is closed to further replies.

shumbora

submit button and iframe

Recommended Posts

hello evrey one, i was hopeing to build a search engine on my site that would search other sites like yahoo , google ,ect.. i've been having one problem with it tho , im trying to get the search results to open in an iframe but all my efforts do this have been in vain , i should mention that im a noob at this , that siad here is the code
[b][u]this is my .js file (test.js)[/u][/b]
[code]function doSearch( selectedIndex, searchTerm ) {
   if ( selectedIndex < 0 ) {
      alert("Please select a search engine!");
      return false;
   } else if ( searchTerm == "" ) {
      alert("No search term!");
      return false;
   }
   window.open( SEARCH_DATA[selectedIndex][1] , SEARCH_DATA[selectedIndex][0] );
}



function engine1( selectedIndex, searchTerm )
{
   SEARCH_DATA= new Array(73);
   <!--SEARCH_DATA[value]= new Array( window name , url ) -->
   SEARCH_DATA[1]= new Array("yahoo","http://search.yahoo.com/search?p="+escape(searchTerm)+"&sm=Yahoo%21+Search&fr=FP-tab-web-t&toggle=1&cop=&ei=UTF-8");

    
doSearch( selectedIndex, searchTerm );
   return true;
}[/code]
[b][u]this is the form code[/u][/b]
[code]<script language=JavaScript src="test.js" type=text/javascript></script>
<div align="center">
<form name="searchForm1" action="" onSubmit="javascript:engine1(this.engine.options[this.engine.selectedIndex].value,this.go.value); return false;">
<select name="engine" class="drop_down">
<option value="-1" selected>Torrent Search</option>
<option value="1">yahoo</option>

</select>
<input name="go" class="text_field" size="20" maxlength="35" />
<input name="submit" type="submit" class="search_button" value="Search" />
</form>[/code]
[b][u]this is my iframe statment[/u][/b]
[code]<iframe id="inpage"  style="width:600px;height:400px" src="http://www.google.com"></iframe>[/code]
im trying to set it up so that when the search button is clicked it would open the search results in the iframe. any comments will be appreciated and thanx in advance:D

Share this post


Link to post
Share on other sites
I suggest you use this line of Javascript code:
document.inpage.open( SEARCH_DATA[selectedIndex][1] , SEARCH_DATA[selectedIndex][0] );

Share this post


Link to post
Share on other sites
Hi there,,

That one should works,, tested with IE & FF,,
[code]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>testing,,</title>
</head>
<body>
<script>
function doSearch( selectedIndex, searchTerm ) {
   if ( selectedIndex < 0 ) {
      alert("Please select a search engine!");
      return false;
   } else if ( searchTerm == "" ) {
      alert("No search term!");
      return false;
   }
DoTheSearchInTheFrame(SEARCH_DATA[selectedIndex][1], SEARCH_DATA[selectedIndex][0]);
}

function engine1( selectedIndex, searchTerm )
{
   SEARCH_DATA= new Array(73);
   <!--SEARCH_DATA[value]= new Array( window name , url ) -->
   SEARCH_DATA[1]= new Array("google","http://www.google.fr/search?hl=fr&q="+escape(searchTerm)+"&btnG=Recherche+Google&meta=");
   SEARCH_DATA[2]= new Array("yahoo","http://search.yahoo.com/search?p="+escape(searchTerm)+"&sm=Yahoo%21+Search&fr=FP-tab-web-t&toggle=1&cop=&ei=UTF-8");

doSearch( selectedIndex, searchTerm );
   return true;
}

function DoTheSearchInTheFrame(var_a,var_b)
{
eval("document.getElementById('inpage').src=var_a");
}

</script>

<div align="center">
<form name="searchForm1" action="" onSubmit="javascript:engine1(this.engine.options[this.engine.selectedIndex].value,this.go.value); return false;">
<select name="engine" class="drop_down">
<option value="-1" selected>Select a search engine</option>
<option value="1" >Google</option>
<option value="2">yahoo</option>
</select>
<input name="go" class="text_field" size="20" maxlength="35" />
<input name="submit" type="submit" class="search_button" value="Search" />
</form>
</div>

<iframe id="inpage"  style="width:600px;height:400px" src="http://www.google.com"></iframe>

</body>
</html>
[/code]
The important line is:
[b]eval("document.getElementById('inpage').src=var_a");[/b], which changes the content of the iframe,,

Hoping it helps,,

l8tr,,

Share this post


Link to post
Share on other sites
firest off i just wanna say that you [b][u]ROCK[/u][/b] , your scrpit worked flawlessly , but i have a question , how do i manipulate it so that it would use the search data from the .js file insted of embedding all of the search data right into the html, because i plane to add many more search engines. and thanx again for your help

Share this post


Link to post
Share on other sites
cool, nice to hear, & glad to have helped you there,,
about your question, the manipulation to do is quiet easy,,
just split the code like this,
html part:
[code]
<html>
<head>
<title>testing,,</title>
</head>
<body>
<script language=JavaScript src="test.js" type=text/javascript></script>
<div align="center">
<form name="searchForm1" action="" onSubmit="javascript:engine1(this.engine.options[this.engine.selectedIndex].value,this.go.value); return false;">
<select name="engine" class="drop_down">
<option value="-1" selected>Select a search engine</option>
<option value="1" >Google</option>
<option value="2">yahoo</option>
</select>
<input name="go" class="text_field" size="20" maxlength="35" />
<input name="submit" type="submit" class="search_button" value="Search" />
</form>
</div>
<iframe id="inpage" style="width:600px;height:400px" src="http://www.google.com"></iframe>
</body>
</html>
[/code]
& you can put in the test.js file the javascript functions,
[code]
function doSearch( selectedIndex, searchTerm ) {
   if ( selectedIndex < 0 ) {
      alert("Please select a search engine!");
      return false;
   } else if ( searchTerm == "" ) {
      alert("No search term!");
      return false;
   }
DoTheSearchInTheFrame(SEARCH_DATA[selectedIndex][1], SEARCH_DATA[selectedIndex][0]);
}

function engine1( selectedIndex, searchTerm )
{
   SEARCH_DATA= new Array(73);
   <!--SEARCH_DATA[value]= new Array( window name , url ) -->
   SEARCH_DATA[1]= new Array("google","http://www.google.fr/search?hl=fr&q="+escape(searchTerm)+"&btnG=Recherche+Google&meta=");
   SEARCH_DATA[2]= new Array("yahoo","http://search.yahoo.com/search?p="+escape(searchTerm)+"&sm=Yahoo%21+Search&fr=FP-tab-web-t&toggle=1&cop=&ei=UTF-8");

doSearch( selectedIndex, searchTerm );
   return true;
}

function DoTheSearchInTheFrame(var_a,var_b)
{
eval("document.getElementById('inpage').src=var_a");
}
[/code]
Hoping I get your question [still my english,... :) ] & it helps...

l8tr,,

Share this post


Link to post
Share on other sites
hey thanx alot man you have no idea how much i appreciate your help , once again ur scrpit is flawless. and thanx again.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.