这是我的表格:
<form id="search_form" method="get" action="" name="search_f">
<input id="search_field" maxlength="100" name="query" type="text" value="" placeholder="cerca nel negozio">
<input id="search_button" type="submit" value="" onClick="submit_f()">
</form>
这是“submit_f()”:
function submit_f(){
var v = document.search_f.query.value;
var v_arr = v.split("?");
alert(v_arr.join('\n'));
var v_arr = v_arr[0].split("/");
alert(v_arr.join('\n'));
if((v_arr[0] == "http:" || v_arr[0] == "https:") && v_arr[2] == "store.steampowered.com")
window.location.href = "/" + v_arr[3] + "/" + v_arr[4];
else
window.location.href = "/search/?query=" + v;
return false;
}
我要做的是根据用户输入的内容将用户重定向到不同的页面:
- 如果他输入单词,他将被重定向到“/ search /?query = words”。
- 如果他输入网址( http://store.steampowered.com/app/202170/?asp=123 ),他将被重定向(在这种情况下)“/ app / 202170”。
但我的代码没有用,有什么帮助吗?
答案 0 :(得分:3)
您没有从事件处理函数返回任何内容:
onClick="submit_f()"
应该是
onClick="return submit_f()"
答案 1 :(得分:1)
你应该给你的表格
onsubmit="return false"
避免默认的提交行为。此外,您的按钮可以是type = button而不是type = submit,但这并不总是足够(某些浏览器仍然会提交它),肯定的方法是onsubmit。
答案 2 :(得分:1)
从您的HTML中删除onclick
document.getElementById('search_button').onclick = function(){
var v = document.search_f.query.value;
var v_arr = v.split("?");
alert(v_arr.join('\n'));
var v_arr = v_arr[0].split("/");
alert(v_arr.join('\n'));
if((v_arr[0] == "http:" || v_arr[0] == "https:") && v_arr[2] == "store.steampowered.com")
window.location.href = "/" + v_arr[3] + "/" + v_arr[4];
else
window.location.href = "/search/?query=" + v;
return false;
}