如何创建一个搜索框,从多个标签中的不同搜索引擎打开多个搜索结果?

时间:2011-04-22 06:34:48

标签: javascript ajax

我需要一个搜索框和一个提交按钮,它会在多个标签页中打开我的输入,作为来自多个搜索引擎的搜索结果。感谢。

2 个答案:

答案 0 :(得分:1)

您描述要执行的操作的方式不需要您使用Ajax。

Ajax用于从Web加载数据并更新用户所在页面的部分,使用Ajax,您可以更新页面而无需移动到新页面。

由于您要求打开新标签,Ajax与它无关。

<html>
<head>
<script type="text/javascript">
function performSearch() {
    var searchTerm = encodeURIComponent(document.getElementById('searchField').value);
    window.open('http://www.google.com/search?q=' + searchTerm, 'new_window_1');
    window.open('http://search.yahoo.com/search?p=' + searchTerm, 'new_window_2');
    // open more tabs here ...
}
</script>
</head>

<body>
<input id="searchField" type="text" />
<input type="button" value="click me" onclick="performSearch();" />
</body>
</html>

  

您能告诉我如何在按Enter键后使搜索字段执行搜索吗?

快捷方式:

如果我们将文本字段作为实际HTML表单的一部分,并在用户提交表单时运行我们的javascript函数 - 这将导致函数在用户单击文本字段内的enter时运行,因为单击enter在作为表单一部分的文本框内提交表单。

<html>
<head>
<script type="text/javascript">
function performSearch() {
    var searchTerm = encodeURIComponent(document.getElementById('searchField').value);
    window.open('http://www.google.com/search?q=' + searchTerm, 'new_window_1');
    window.open('http://search.yahoo.com/search?p=' + searchTerm, 'new_window_2');
    // open more tabs here ...
}
</script>
</head>

<body>
<form onsubmit="performSearch(); return false;">
<input id="searchField" type="text" />
<input type="submit" value="click me" />
</form>
</body>
</html>

现在按钮输入的类型是'submit',所以当用户点击按钮时,表单应该被提交,我们在表单上有一个事件处理程序 - 'onsubmit' - 当用户点击按钮或按下在搜索字段内输入。我们添加'return false;'因此,在我们的函数运行后实际上没有发生任何事情 - 表单实际上并未提交(因为当您提交表单时,通常会在某处发送信息,我们不会在此处执行此操作,它就像伪表单一样。)

答案 1 :(得分:0)

你需要使用ajax并使用GET方法获取发送查询字符串的内容并以Div或任何你想要的方式显示它!

当我搜索AJAX Micro Mini Lib谷歌重定向我 http://www.google.co.in/search?q=ajax+micro+mini&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a 现在省略所有你不想要的东西 http://www.google.co.in/search?q=encodeURIComponent(searchString

现在使用AJAX Micro Mini或jQuery或者什么来获取页面内容,你可以使用AJAX Micro Mini [如果你知道PHP或ASP或JSP ...],因为它附带了一些简单的例子