2011-09-06 32 views
1

我试图创建一个搜索框,搜索整个coldfusion站点并显示搜索结果。到目前为止,我已经发布了我的HTML和JS代码。我不是很了解搜索或Coldfusion,所以任何帮助将不胜感激。coldfusion跨站点搜索

<script type="text/javascript"> 
function submitSearch() { 
var q = document.getElementById('q'); 
if (q.value.length == 0) { 
    alert('Please enter a search word'); 
    } 
else { 
    var frmSearch = document.getElementById('frmSearch'); 
    } 
} 
</script> 

    <div id="header-search"> 
    <form action="" method="post" id="frmSearch"> 
    <input type="text" name="q" id="q" value="Search"> 
    <input src="images/mag.png" id="searchsubmit" value="Search" class="btn" type="Button" onClick="submitSearch()" /> 
    </form> 
    </div> 
+1

有没有办法做到这一点没有CF,只是纯粹的Javascript? – multiv123

+0

嗨,看起来你没有太多的开始 - 你想要搜索什么,静态文档或数据库? [或两者?!]你到目前为止是一种形式和一些验证。我们能获得更多信息吗? –

+0

我不相信有一种方法可以用纯JavaScript来做到这一点。您可以轻松使用集成到ColdFusion中的solr。您将需要使用标签cfsearch和cfindex。 – mbseid

回答

0

你想用什么作为搜索的基础?如果只是在几个页面上使用数据库内容,那么您可能有最大的好运来研究Solr集合。

如果是完整的网站,您可以将自定义的Google搜索集成在一起。如果网站内容是公开的,他们可能已经索引了整个事情。不需要重新发明轮子。

+0

我在考虑使用Google搜索。将此行添加到我拥有的JS代码中:window.location ='http://www.google.com/...'我不确定该URL应该是什么样的以及如何附加查询。 – multiv123

+0

想通了。谢谢你的帮助。 – multiv123

3

由mbseid发布,请查看cfindexcfsearch。您不能使用JS来搜索驻留在服务器上的文件。唯一的方法是使用cfsearch。阅读更多关于它在这里:cfsearch

希望这会有所帮助。

-2

如果内容在实际的ColdFusion页面中,最简单的方法是使用自定义Google搜索。如果这是不是一种选择,那么你会想要做这样的事情(伪代码):

cfdirectory to get list of *.cfm files 
cffile to read in each cfm file 
if (content of file) contains (what you're looking for, e.g. #form.search#), store filename in an array or a structure. 
continue doing this through all files. 

然后编写一个程序来输出片段,或文件的列表或某事与内容。

这不是优雅的,但它会做的工作。

+0

这很有道理。我想做一个谷歌搜索。我认为如果我添加这行JS可能会工作:window.location ='http://www.google.com/'并将查询添加到URL的末尾。不知道该网址应该如何... – multiv123

+0

没关系。我想到了。 – multiv123