更改 URL 并使用 jQuery 重定向

我有一些这样的代码,

<form id="abc">
<input type="text" id="txt" />
</form>

现在我想像这样重定向,

var temp = $("#txt").val();
url = "http://example.com/" + temp;
window.location.replace(url);
// or window.location(url);

在 jQuery 中是否存在解决这个问题的方法? 它仍然允许我使用 url = http://example.com

575145 次浏览

说实话,我还是不明白你需要什么,但是

window.location(url);

应该是

window.location = url;

搜索 窗户,位置参考会告诉你。

JQuery 没有这个选项,也不应该有。这是完全有效的 javascript,jQuery 没有理由为此提供包装器函数。

JQuery 只是一个在 javascript 之上的库,即使你使用 jQuery,你仍然可以使用普通的 javascript。

对了 window.location 不是一个函数,而是一个属性,你应该这样设置:

window.location = url;

正如在其他答案中提到的,您不需要 jQuery 来完成这项工作; 您只需使用标准属性即可。

然而,似乎你并不知道 window.location.replace(url)window.location = url之间的区别。

  1. window.location.replace(url)用一个新的位置替换地址栏中的当前位置。调用该函数的页面不会包含在浏览器历史记录中。因此,在新位置上,单击浏览器中的后退按钮将使您返回到访问包含重定向 JavaScript 的文档之前正在查看的页面。
  2. window.location = url重定向到新位置。在这个新页面上,浏览器中的后退按钮将指向包含重定向 JavaScript 的原始页面。

当然,两者都有自己的用例,但在我看来,在这种情况下,您应该坚持使用后者。

附注: 你可能在 JavaScript 的第2行中忘记了 http:后面的两个斜杠:

url = "http://abc.example/" + temp;

试试这个..。

$("#abc").attr("action", "/yourapp/" + temp).submit();

意思:

找到一个表单与 id“ abc”,改变它的 attribute命名为“行动”,然后提交它..。

这对我有用... ! ! !

var temp="/yourapp/";
$(location).attr('href','http://abcd.example'+temp);

试试这个..。 用作替代品

没有 jquery 你可以做得更简单

location = "https://example.com/" + txt.value

function send() {
location = "https://example.com/" + txt.value;
}
<form id="abc">
<input type="text" id="txt" />
</form>


<button onclick="send()">Send</button>

如果你真的想用 jQuery 做这件事(为什么?)应该让 DOM window.location 对象使用它的函数:

$(window.location)[0].replace("https://www.google.it");

注意,[0]告诉 jQuery 直接使用 DOM 对象,而不是使用封装 DOM 对象的 $(window.location) jQuery 对象。

你可以这样做:

var url = "http://example.com/" + temp;
$(location).attr('href',url);