gpt4 book ai didi

javascript - 根据用户输入重定向到特定 url,但如果不存在预定义关键字,则搜索站点

转载 作者:行者123 更新时间:2023-11-30 05:48:36 24 4
gpt4 key购买 nike

好吧,这里是第二个问题,首先让我说我对 javascript 还一无所知,我使用的所有东西都只是从这里那里剪切和粘贴,所以对我放轻松 :-p。

我有一个客户想要设置一个搜索框,如果有人输入某个预定义的关键字,它会转到特定页面。我从这里抓取这段代码来完成那部分:

 <form id='formName' name='formName' onsubmit='redirect();return false;'>
<input type='text' id='userInput' name='userInput' value=''>
<input type='submit' name='submit' value='Submit'>
</form>

<script type='text/javascript'>
function redirect() {
var input = document.getElementById('userInput').value.toLowerCase();
switch(input) {
case 'keyword1':
window.location.replace('page1.html');
break;
case 'keyword2':
window.location.replace('page2.html');
break;
default:
window.location.replace('error.html');
break;
}


}
</script>

现在我也在使用 sphider php 搜索脚本,我已经使用了这个嵌入式表单:

<form action="search/search.php" method="get">
<input type="text" name="query" id="query" value="SEARCH" columns="2"
autocomplete="off" delay="1500"
onfocus="if(this.value==this.defaultValue)this.value=''"
onblur="if(this.value=='')this.value=this.defaultValue" >
<input type="submit" value="" id="submit">
<input type="hidden" name="search" value="1">
</form>

有什么方法可以将两者结合起来,这样如果他们搜索预定义的关键字,他们就会被定向到正确的页面,但是如果他们的搜索不包含预定义的关键字,它会使用 sphider 进行搜索?

对不起,如果这个问题很可笑,就像我说的,我是新手:-p

谢谢

最佳答案

更新:好的,所以问题只是您必须执行 return redirect(); 以确保 false 正确返回。我在这里做了一个 fiddle :http://jsfiddle.net/3UbLa/1/


我对 spider 搜索一无所知,但根据您发布的内容,您应该能够像下面这样将两者结合起来:

你的 JS 会变成这样:

<script type='text/javascript'>
function redirect() {
//look for text inside the NEW textbox
var input = document.getElementById('query').value.toLowerCase();
switch(input) {
case 'keyword1':
//put this to see if this code runs
//alert("Test");// UNCOMMENT THIS
window.location.replace('page1.html');
break;
case 'keyword2':
window.location.replace('page2.html');
break;
default://no keyword detected so we submit the form.
return true;
break;
}
return false;//don't let the form submit
}
</script>

您的 html 将更改为:

<form action="search/search.php" method="get" 
onsubmit='return redirect();'>
<!-- pretty much the same thing except you remove the return false !-->
<input type="text" name="query" id="query" value="SEARCH" columns="2"
autocomplete="off" delay="1500"
onfocus="if(this.value==this.defaultValue)this.value=''"
onblur="if(this.value=='')this.value=this.defaultValue" >
<input type="submit" value="" id="submit">
<input type="hidden" name="search" value="1">
</form>

关于javascript - 根据用户输入重定向到特定 url,但如果不存在预定义关键字,则搜索站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16240536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com