The Arcive of vBulletin Modifications Site. |
|
Live Search 1.0 (AJAX) Details »»
|
|||||||||||||||||||||||||
About the hack
============== The hack adds a quick live search form to your forum's at any place you want it, results are to be shown exactly under the search field as you type (by ajax) Supported browsers ============== IE6, IE7, FF2, Opera 9 Demo ==================== http://www.montadaphp.net right under the logo ![]() How to Install ============== 1- Add the following code to the end of ur "headinclude" template: Code:
<script type="text/javascript">
/***********************************************
* Drop Down/ Overlapping Content- ? Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
function getposOffset(overlay, offsettype){
var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
var parentEl=overlay.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}
function overlay(curobj, subobjstr, opt_position){
if (document.getElementById){
var subobj=document.getElementById(subobjstr)
subobj.style.display="block"
var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0)
var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
subobj.style.left=xpos+"px"
subobj.style.top=ypos+"px"
return false
}
else
return true
}
function overlayclose(subobj){
document.getElementById(subobj).style.display="none"
}
var xmlHttp3
function showHint(word)
{
document.getElementById('search_results').innerHTML = '<p></p><p></p><p align="center" class="smallfont"><img src="images/progress.gif" />Searching..</p>';
xmlHttp3=GetXmlHttpObject3()
if (xmlHttp3==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="ajax_search.php"
url=url+"?query="+word
xmlHttp3.onreadystatechange=stateChanged3
xmlHttp3.open("GET",url,true)
xmlHttp3.send(null)
}
function stateChanged3()
{
if (xmlHttp3.readyState==4 || xmlHttp3.readyState=="complete")
{
document.getElementById("search_results"). innerHTML='<div align="left"><a href="#" onClick="overlayclose(\'search_results\'); return false">x</a></div>'+xmlHttp3.responseText;
return overlay(this, 'search_results')
}
}
function GetXmlHttpObject3()
{
var objXMLHttp3=null
if (window.XMLHttpRequest)
{
objXMLHttp3=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp3=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp3
}
</script>
Code:
<form action="search.php?do=process" method="post">
<input type="hidden" name="do" value="process" />
<input type="hidden" name="quicksearch" value="1" />
<input type="hidden" name="childforums" value="1" />
<input type="hidden" name="exactname" value="1" />
<input type="hidden" name="s" value="$session[sessionhash]" />
Live search <input type="text" name="query" size="25" class="header_search_field" onkeyup="showHint(this.value)" />
</form>
<div id="search_results" class="smallfont" style="position:absolute; border: 2px solid orange; color:blue; background-color: white; width: 300px; padding: 8px; display:none;overflow:auto; height:200px">
<div align="left"><a href="#" onClick="overlayclose('search_results'); return false">x</a></div>
</div>
and u r done If u like the hack please dont forget to click INSTALL ![]() Show Your Support
|
|||||||||||||||||||||||||
| Comments |
|
#2
|
||||
|
||||
|
Interesting!
Tks 4 share Beduino |
|
#3
|
|||
|
|||
|
Could this be integrated in to the existing search field instead of creating another one?
|
|
#4
|
||||
|
||||
|
Quote:
How? do steps 1 and 3 then add the onclick event to the search field: Code:
onkeyup="showHint(this.value)" Code:
<div id="search_results" class="smallfont" style="position:absolute; border: 2px solid orange; color:blue; background-color: white; width: 300px; padding: 8px; display:none">
<div align="left"><a href="#" onClick="overlayclose('search_results'); return false">x</a></div>
</div>
|
|
#5
|
||||
|
||||
|
Goog work mahmoud
|
|
#6
|
||||
|
||||
|
|
|
#7
|
|||
|
|||
|
how server intensive is this? could it be abused?
|
|
#8
|
||||
|
||||
|
there is no limitation for the search frequency, as the code is to be executed on every key press
for me i didnt suffer from any abuse of usage u can decide ur self if it is suitable for u or not
|
|
#9
|
||||
|
||||
|
Queries?
|
|
#10
|
||||
|
||||
|
Goog work mahmoud
|
![]() |
|
|
| X vBulletin 3.8.12 by vBS Debug Information | |
|---|---|
|
|
More Information |
|
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|