我有一些像这样的代码,
<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
。
正如其他答案中所提到的,你不需要jQuery来做这件事;你可以使用标准属性。
但是,似乎你似乎并不知道window.location.replace(url)
和window.location = url
之间的区别。
window.location.replace(url)
用新的替换地址栏中的当前位置。调用该函数的页面不会包含在浏览器历史记录中。因此,在新位置,单击浏览器中的后退按钮将使您在访问包含重定向JavaScript的文档之前返回到您正在查看的页面。window.location = url
重定向到新位置。在这个新页面上,浏览器中的后退按钮将指向包含重定向JavaScript的原始页面。当然,两者都有它们的用例,但在我看来,在这种情况下你应该坚持使用后者。
P.S。:您可能在JavaScript第2行的http:
之后忘记了两个斜杠:
url = "http://abc.com/" + temp;
jQuery没有这个选项,也没有选项。这是完全有效的javascript,jQuery没有理由为此提供包装函数。
jQuery只是一个基于javascript的库,即使你使用jQuery,你仍然可以使用普通的javascript。
btw window.location不是一个函数,而是一个你应该像这样设置的属性:
window.location = url;
var temp="/yourapp/";
$(location).attr('href','http://abcd.com'+temp);
试试这个...用作替代方案
试试这个...
$("#abc").attr("action", "/yourapp/" + temp).submit();
这是什么意思:
找到一个表格与id
“abc”,改变它的attribute
名为“行动”,然后提交它...
这对我有用...... !!!
没有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>