Изменение 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>