Greg, you would just need to use the escape function on mySearch before your switch statement mySearch = escape(mySearch); That is so it doesn't change the :// in http:// in your myQuery variable, browsers won't like that
-----Original Message----- From: Turetsky, Seth [mailto:[EMAIL PROTECTED]] Sent: Wednesday, September 25, 2002 2:55 PM To: CF-Talk Subject: RE: Web Search NS Error good point, forgot about that function, I usually just do it with urlencodedformat in cf -----Original Message----- From: S.Isaac Dealey [mailto:[EMAIL PROTECTED]] Sent: Wednesday, September 25, 2002 2:50 PM To: CF-Talk Subject: RE: Web Search NS Error why regex? why not just escape()? or is that due to the way search engines handle the query string? > Right before you open the window, this should work > You may need to do some regular expressions in case they put in multiple > spaces though. > if (myQuery){ > myQuery = myQuery.replace(' ','+'); > window.open(myQuery,"newwin"); > return false; > } > -----Original Message----- > From: Greg Luce [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, September 25, 2002 12:12 PM > To: CF-Talk > Subject: RE: Web Search NS Error > Seth, you rock! The only problem left is when you enter 2 words in the > form. It looks like this in the url: > http://www.google.com/search?q=hotel Chicago, when it needs to have a + > between the search words. Do you see a good place to parse that into the > search string? > -----Original Message----- > From: Turetsky, Seth [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, September 25, 2002 11:57 AM > To: CF-Talk > Subject: RE: Web Search NS Error > The js code to set MySearcher in the processSearch function looks off: > mySearcher = formObj.tosearch.value; > change to: > mySearcher = formObj.tosearch[formObj.tosearch.selectedIndex].value; > If that did work in IE, I guess IE doesn't require the selectedIndex to > get the selected item in a dropdown. > -----Original Message----- > From: Greg Luce [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, September 25, 2002 11:32 AM > To: CF-Talk > Subject: Web Search NS Error > I have a search form on a page that uses js (which I didn't write) to > call a new window using whichever search engine was selected. Anyone > have any ideas why it won't work with Netscape 4.7? It calls up a new > window with a 405 error. I may just do it with CF for Nutscrape. Here's > the code: > <script language="javascript"> > <!-- shields up! > var isIE = false; > if (parseInt(navigator.appVersion) >= 4) { > if (navigator.appName == "Netscape") > { > } else { > isIE = true; > } > } > /* Begin Kill Nesting */ > setTimeout ("changePage()", 3000); > function changePage() { > if (self.parent.frames.length != 0) > self.parent.location=document.location; > } > /* End Kill Nesting */ > /*yummy.... Cookies*/ > function setCookie(name,value,expires,path,domain,secure){ > var curCookie = name + "=" + escape(value) + > ((expires) ? "; expires=" + expires.toGMTString() : "") + > ((path) ? "; path=" + path : "") + > ((domain) ? "; domain=" + domain : "") + > ((secure) ? "; secure" : ""); > document.cookie = curCookie; > } > function DeleteCookie(name,path,domain){ > if(getCookie(name)){ > document.cookie = name + "=" + > ((path) ? "; path=" + path : "") + > ((domain) ? "; domain=" + domain : "") + > "; expires=Thu, 27-Sep-74 12:32:01 GMT"; > } > } > function processSearch() > { > formObj = document.internetsearch; > mySearcher = formObj.tosearch.value; > mySearch = formObj.search.value; > var searchSite; > switch (mySearcher) > { > case "google": > searchSite = 'http://www.google.com'; > myQuery ='http://www.google.com/search?q='+mySearch; > break; > case "yahoo": > searchSite = 'http://www.yahoo.com'; > myQuery ='http://search.yahoo.com/bin/search?p='+mySearch; > break; > case "dogpile": > searchSite = 'http://www.dogpile.com'; > myQuery > ='http://search.dogpile.com/texis/search?q='+mySearch+'&geo=no&fs=web'; > break; > case "mamma": > searchSite = 'http://www.mamma.com'; > myQuery > ='http://www.mamma.com/Mamma?query='+mySearch+'&qtype=0'; > break; > case "altavista": > searchSite = 'http://www.altavista.com'; > myQuery > ='http://altavista.com/sites/search/web?q='+mySearch+'&pg=q&kl=XX'; > break; > case "lycos": > searchSite = 'http://www.lycos.com'; > myQuery > ='http://search.lycos.com/main/default.asp?lpv=1&loc=searchhp&query='+my > Search; > break; > case "infoseek": > searchSite = 'http://www.infoseek.com'; > myQuery > ='http://www.overture.com/d/search/p/go/?Partner=go_home&Keywords='+mySe > arch+'&Go=Search&input='; > break; > case "metacrawler": > searchSite = 'http://www.metacrawler.com'; > myQuery > ='http://search.metacrawler.com/crawler?general='+mySearch+'&method=0&re > direct=&rpp &hpe®ion=0&timeout=0&sort=0&theme=classic'; > break; > case "webcrawler": > searchSite = 'http://www.webcrawler.com'; > myQuery > ='http://search.excite.com/search.gw?c=web&lk=webcrawler&onload=&s='+myS > earch; > break; > case "excite": > searchSite = 'http://www.excite.com'; > myQuery > ='http://search.excite.com/search.gw?c=web&search='+mySearch; > break; > default: > myQuery =''; > } > var now = new Date(); > now.setTime(now.getTime() + (365 * 24 * 60 * 1000)); > setCookie("lastSearch", mySearch, now, "/"); > var now = new Date(); > now.setTime(now.getTime() + (365 * 24 * 60 * 1000)); > setCookie("mySearcher", mySearcher, now, "/"); > if (mySearch == "") { > window.open(searchSite); > return false; > } > if (myQuery){ > window.open(myQuery); > return false; > } > else > { > return true; > } > } > function setSearchCookie() > { > formObj = document.internetsearch; > mySearcher = formObj.tosearch.value; > mySearch = formObj.search.value; > var now = new Date(); > now.setTime(now.getTime() + (365 * 24 * 60 * 1000)); > setCookie("mySearcher", mySearcher, now, "/"); > } > --> > </script> > <table width="195" border="0" cellspacing="0" cellpadding="0"> > <cfform name="internetsearch" method="post" onSubmit="return > processSearch()" action=""> > <tr> > <td width="142" class="arial_10">Type your keyword or > phrase then press 'GO'</td> > <td height="28"><input type="image" border="0" > name="search_go" src="images/go.gif" width="26" height="28" > alt="go"></td> > </tr> > <tr> > <td colspan="2"> > <cfif browser eq "NS"> > <cfinput type="Text" name="search" > message="You must enter Keyword or Phrase to search" required="Yes" > size="8" style="font-family: Verdana; font-size: x-small;"> > <cfelse> > <cfinput type="Text" name="search" > message="You must enter Keyword or Phrase to search" required="Yes" > size="15" style="font-family: Verdana; font-size: xx-small;"> > </cfif> > <cfselect name="tosearch" onChange="setSearchCookie()" > style="font-family: Verdana; font-size: xx-small;"> > <option value='altavista'>Alta Vista</option> > <option value='dogpile'>DogPile</option> > <option value='excite'>Excite</option> > <option value='google' Selected>Google</option> > <option value='infoseek'>InfoSeek</option> > <option value='lycos'>Lycos</option> > <option value='mamma'>Mamma</option> > <option value='metacrawler'>MetaCrawler</option> > <option value='webcrawler'>WebCrawler</option> > <option value='yahoo'>Yahoo</option> > </cfselect> > <!--- <input type="text" class="arial_10" name="search" > size="40"> ---> > </td> > </tr> > </cfform> > </table> > ______________________________________________________________________ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/[email protected]/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

