it-swarm.com.de

URL ändern und mit jQuery umleiten

Ich habe einen Code wie diesen,

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

und jetzt möchte ich so umleiten,

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

Gibt es in jQuery überhaupt eine Möglichkeit, dies zu lösen? Es lässt mich immer noch url = http://example.com.

127
gacon

Wie in den anderen Antworten erwähnt, benötigen Sie dazu kein jQuery. Sie können einfach die Standardeigenschaften verwenden.

Sie scheinen jedoch den Unterschied zwischen window.location.replace(url) und window.location = url Nicht zu kennen.

  1. window.location.replace(url) ersetzt die aktuelle Position in der Adressleiste durch eine neue. Die Seite, die die Funktion aufgerufen hat, wird nicht in den Browserverlauf aufgenommen. Wenn Sie an der neuen Position in Ihrem Browser auf die Schaltfläche "Zurück" klicken, kehren Sie zu der Seite zurück, die Sie angezeigt haben, bevor Sie das Dokument mit dem umleitenden JavaScript aufgerufen haben.
  2. window.location = url Leitet zum neuen Speicherort weiter. Auf dieser neuen Seite verweist die Schaltfläche "Zurück" in Ihrem Browser auf die ursprüngliche Seite mit dem umgeleiteten JavaScript.

Natürlich haben beide ihre Anwendungsfälle, aber es scheint mir, als ob Sie in diesem Fall bei letzteren bleiben sollten.

P.S .: Sie haben wahrscheinlich zwei Schrägstriche nach http: In Zeile 2 Ihres JavaScript vergessen:

url = "http://abc.com/" + temp;
331
Mathias Bynens

ich verstehe immer noch nicht, was Sie brauchen, aber

window.location(url);

sollte sein

window.location = url;

eine Suche nach window.location Referenz sagt Ihnen das.

40
balexandre

jQuery hat dafür keine Option und sollte auch keine haben. Dies ist vollkommen gültiges Javascript und es gibt keinen Grund für jQuery, Wrapper-Funktionen dafür bereitzustellen.

jQuery ist nur eine Bibliothek über Javascript, auch wenn Sie jQuery verwenden, können Sie trotzdem normales Javascript verwenden.

Btw window.location ist keine Funktion, sondern eine Eigenschaft, die Sie wie folgt einstellen sollten:

window.location = url;
17
Pim Jager
var temp="/yourapp/";
$(location).attr('href','http://abcd.com'+temp);

Versuchen Sie dies ... als Alternative

8
user2389005

Versuche dies...

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

Was es bedeutet:

Suchen Sie ein Formular mit id "abc", ändern Sie dessen attribute mit dem Namen "action" und senden Sie es dann ab ...

Das funktioniert bei mir ... !!!

3
amouat

sie können es einfacher machen, ohne nachzufragen

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>
0