<form id="search" action="">
<input id="findroom" type="text" class="defaultText" title="Room Name">
<input id="find" type="submit" value="Find">
</form>
<script>
$(document).ready(function(){
$('#search').submit(function() {
var r = "/rooms/"+$('#findroom').val();
open(r);
});
});
</script>
上面的代码有问题。我正在尝试生成一个用于Ruby on Rails应用程序的restful URL。我可以从表单中生成我需要的URL作为var'r'。当我使用上面的open()时,链接打开正常,但在新窗口中。我需要它在同一个窗口打开。试过了:
open.(r,'_self');
不起作用
没有运气:
location.replace
location.href =
有人有任何想法吗?
由于
百里
答案 0 :(得分:5)
就像
一样简单window.location = r;
答案 1 :(得分:2)
要打开新的弹出窗口,请使用
window.open(r);
如果要重定向当前页面,请使用
window.location = r;
答案 2 :(得分:0)
答案 3 :(得分:0)
window.open创建一个新的辅助浏览器窗口并加载引用的资源,而windo.location允许更改当前窗口的URL。所以你想要的是:
window.location = r;
答案 4 :(得分:0)
谢谢大家的帮助。你们都在赚钱,但的答案是
e.preventDefault();
与表单提交和覆盖window.location命令有关。一旦阻止它的默认行为就可以了。这是完整的代码:
<section id="roomsearch">
<form id="search" action="">
<input id="findroom" type="text" class="defaultText" title="Room Name">
<input id="find" type="submit" value="Find">
</form>
<script>
$(document).ready(function(){
$('#search').submit(function(e) {
var r = "/rooms/"+$('#findroom').val();
window.location = r;
e.preventDefault();
});
});
</script>
</section>
感谢您的时间和帮助。
百里