Изменение 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
.
Ответы
Ответ 1
Как уже упоминалось в других ответах, для этого вам не нужен jQuery; вы можете просто использовать стандартные свойства.
Однако, похоже, вы не знаете разницы между window.location.replace(url)
и window.location = url
.
-
window.location.replace(url)
заменяет текущее местоположение в адресной строке новым. Страница, вызывающая функцию, не будет включена в историю браузера. Поэтому в новом месте, нажав кнопку "Назад" в вашем браузере, вы вернетесь на страницу, которую вы просматривали, до того, как посетили документ, содержащий перенаправляющий JavaScript.
-
window.location = url
перенаправляется в новое место. На этой новой странице кнопка "Назад" в вашем браузере укажет на исходную страницу, содержащую перенаправляющий JavaScript.
Конечно, оба имеют свои варианты использования, но мне кажется, что в этом случае вы должны придерживаться последнего.
P.S.: Вероятно, вы забыли две черты после http:
в строке 2 вашего JavaScript:
url = "http://abc.com/" + temp;
Ответ 2
скажите правду, я все еще не понимаю, что вам нужно, но
window.location(url);
должен быть
window.location = url;
поиск по window.location поможет вам сообщить об этом.
Ответ 3
jQuery не имеет возможности для этого, и не должен иметь его. Это абсолютно корректный javascript, и нет никаких причин для jQuery для предоставления функций-оболочек для этого.
jQuery - это просто библиотека поверх javascript, даже если вы используете jQuery, вы все равно можете использовать обычный javascript.
Btw window.location - это не функция, а свойство, которое вы должны установить следующим образом:
window.location = url;
Ответ 4
var temp="/yourapp/";
$(location).attr('href','http://abcd.com'+temp);
Попробуйте это... используется как альтернатива
Ответ 5
Попробуйте это...
$("#abc").attr("action", "/yourapp/" + temp).submit();
Что это значит:
Найти форму с id
"abc", изменить ее attribute
с именем "action" и затем отправить ее...
Это работает для меня...!!!
Ответ 6
Вы можете сделать это проще без 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>