在我的网站上,我有一个主搜索(由Google提供支持,放置在整个网站上),我现在已经创建了第二个搜索(在其自己的页面上,根据用户输入文本在我的数据库中搜索图像),这是一个将搜索完全分开到谷歌搜索。
我想做什么 - 我希望两个搜索表单共享一个文本输入字段,但允许用户通过单选按钮选择要使用的搜索(Google或仅图像)。
所以我们有: [搜索输入字段] [go](o)仅使用Google(o)图片搜索
我不是编码员,但可以破解足够的事情,只需要我一两天才能弄明白并开始工作。 我需要什么,并将节省我很多时间,因为我很难知道如何继续这个或甚至可能!如果有人能告诉我A)如果可能的话,和B)如果有的话可以指点几点。例如,我猜它可能需要一些JavaScript来实现它? 任何指针都会受到赞赏,然后我可以看到我能做些什么。
一切顺利, 克里斯
// My Stand-alone Image Search Page ////////////////////////////////
<form method="post" action="imagesearch?go" id="search-form">
<input type="text" name="name">
<input type="submit" name="submit" value="Search">
</form>
// code for above form //
if(isset($_POST['submit'])){
if(isset($_GET['go'])){
if(preg_match("/^[ a-zA-Z]+/", $_POST['name'])){
$name=$_POST['name'];
$sql="SELECT ID FROM ImageTable WHERE Name LIKE '%" . $name . "%' Order by Date Desc LIMIT 50";
//-run the query against the mysql query function
$result=mysql_query($sql);
// Create while loop and loop through result set//
$content .= ' <p><div id="wrapper">';
while($row=mysql_fetch_array($result)){
$id=$row['ID'];
$img = new Image($id);
// Format results//
$content .= '<div id="imgrt"><a href="'.$img->URL.'"><img src="/img/M/'.$img->ID.'.jpg" class="searchimg"><br>'.$img->Name.'</a>';
$content .= '</div>';
}
$content .= '';$content .= '</div>';
}
else{
$content .= ' <p>Please enter a search query</p>';
}
}
}
// End of Stand-alone image search page /////////////////////////
---------------------------------------------------------------------------
// My sites main Google powered Search
<form action="http://www.example.com/gsresults" id="cse-search-box" class="searchmain">
<input type="hidden" name="cx" value="partner-pub-XXXXXXXXXXXXXXX" />
<input type="hidden" name="cof" value="FORID:XX" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="text" name="q" class="mainsearch">
<input type="submit" name="sa" value="Go" class="mainsearchbutton"/>
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang="></script>
答案 0 :(得分:1)
好的,我们走了。如果你把它放在一个空的html文件中,你可以看到它在行动(尝试制作一个jsfiddle,但由于某种原因没有工作)。这样做是为了设置一个活跃的&#34;选中的组合选项上的id,当您单击提交按钮时,它会使用该ID获取组合选项的值,然后转到该值的页面。因此,如果你点击谷歌然后按钮你去google.html,同样适用于image,image.html。如果你想要一些更具体的细节你可以问,但这就是那里的主要逻辑。
<script>
function replaceActive(obj) {
var activeElm = document.getElementById("active");
activeElm.id = activeElm.id.replace("active", "");
obj.id = "active";
}
function formFunction(obj) {
obj.action = document.getElementById("active").value + ".html";
}
</script>
<form action="#" onsubmit="return formFunction(this);" method="post">
<input type="text" />
<select>
<option value="google" id="active" onclick="replaceActive(this);">Google</option>
<option value="image" onclick="replaceActive(this);">Images</option>
</select>
<input type="submit" />
</form>
基本上你可以改变那个&#34; formFunction()&#34;函数的代码和使用&#34; document.getElementById(&#34; active&#34;)。value&#34;做你想做的事。