2016-08-10 1 views
1

Ich habe ein Problem mit diesem Code, den ich nicht verstehen kann. Window.location funktionierte perfekt für mich vorher aber diesmal ist es nicht und ich habe keine Ahnung. Wenn ich manuell auf diese Richtung zugreife - es funktioniert, aber Redirect funktioniert nicht - nur aktualisiert Seite. Ich habe keine Ahnung, was ich tun soll!Javascript window.location funktioniert nicht

Ich habe versucht, redirect es zu Google oder was auch immer, aber es nur noch erfrischt.

$("#remove-form").on("submit", function(event) { 
    usunRow(); 
}); 

function remove() { 
    var id=document.getElementById("id").innerHTML; 
    if (id != "ID"){ 
     $('#remove-modal').modal('show'); 
    } else $('#error-modal').modal('show'); 
} 

function usunRow(){ 
    var id=document.getElementById("id").innerHTML; 
    if (id != "ID"){ 
     window.location.href = "usun.php?id="+id; 
     alert("usun.php?id="+id); 
    } else $('#error-modal').modal('show'); 
} 

hier alle Funktionen verwende ich für diese

+1

versuchen Sie diese http: // stackoverflow.com/questions/18634383/window-location-href-und-fenster-open-in-javascript –

+0

Wo rufst du diese 'usunRow()' Funktion? Geben Sie auch diese Vorwahl an. –

+0

Ist Ihr Alarm (usun.php? Id = "+ id) .. kommt? – adi

Antwort

1

ändernwindow.location zu window.location.href dieser Wille ändert sich die Fensterposition an einen neuen Standort.

  1. Stellen Sie sicher, Ihre usunRow() Funktionsaufruf perfekt und es gibt keine Problem in Ihrem Browser Konsole.
  2. Auch stellen Sie sicher, Ihre if Anweisung ausführt, kann Ihr if Anweisung sein wird nicht ausgeführt, dass wird der Grund sein, dass Ihre Seite erfrischt nicht nur seine Lage zu verändern.

AKTUALISIERT

hinzufügen return false, weil ein Formular abgeschickt wird return false Ihre Seite aktualisieren die Seite statisch und Ihre window.location.href halten Ihre Seite umleiten.

$("#remove-form").on("submit", function(event) { 
      usunRow(); 
      return false; 
}); 

Hoffe das lösen Ihr Problem.

+0

funktioniert nicht immer noch aktualisiert – Ethris

+0

Stellen Sie sicher, dass Sie "if" ausführt, a Erhalten Sie eine Benachrichtigung, in der Ihre neue URL angezeigt wird? –

+0

Ändern Sie Ihre 'usun.php? Id = + id' zu' https: // www.google.com', um sicherzustellen, dass es kein Problem mit 'unsun.php' gibt, nur um den Zweck zu überprüfen. –

-1

Sie können versuchen, mit:

window.location.href = ""; 
+0

Derjenige, der die Antwort abgelehnt hat, bitte sagen Sie mir den Grund? –

+0

Weil window.location.href ist keine Funktion – UnknownFury

+0

Bitte lesen Sie die Frage richtig.Das Problem ist mit window.location –

0

verwenden:

window.location.href = "..." 

Es ist nicht gut dokumentiert, aber window.location tatsächlich ist ein Objekt mit Nicht-Standard-Verhalten, wie das Neuladen der Seite und einige nicht lesbare oder undokumentiert/schrulligen/browserspezifischen Felder.

+0

funktioniert nicht. wird noch aktualisiert – Ethris

0

Wenn Sie Ihre Konsole öffnen und window.location eingeben, werden Sie verstehen, warum es nicht funktioniert. Es ist ein Objekt viele Informationen über den aktuellen Standort enthält:

Location {hash: "", search: "", pathname: "https://stackoverflow.com/questions/38870016/javascript-window-location-does-not-work", port: "", hostname: "stackoverflow.com"…}ancestorOrigins: DOMStringListassign:()hash: ""host: "stackoverflow.com"hostname: "stackoverflow.com"href: "http://stackoverflow.com/questions/38870016/javascript-window-location-does-not-work"origin: "http://stackoverflow.com"pathname: "https://stackoverflow.com/questions/38870016/javascript-window-location-does-not-work"port: ""protocol: "http:"reload: reload()replace:()search: ""toString: toString()valueOf: valueOf()__proto__: Location 

Daher Sie versuchen, dieses Objekt mit einer Zeichenfolge (Ihrer Ziel-URL) zu ersetzen. Die bereits erwähnte Eigenschaft href dieses Standortobjekts ist diejenige, die Sie benötigen: window.location.href = "new url" oder als kurze Version location.href = "new url"

+0

> Obwohl Window.location ein schreibgeschütztes Location-Objekt ist, können Sie ihm auch einen DOMString zuweisen. Das bedeutet, dass Sie in den meisten Fällen mit dem Ort arbeiten können, als wäre er ein String: 'location = 'http: // www.example.com'' ist ein Synonym für' location.href = 'http: //www.example .com''. – pawel

0

Wie rufen Sie die Funktion usunRow() auf? Vielleicht haben Sie Click-Ereignis auf Anker, ohne es zu verhindern. Aus diesem Grund wird Ihre Seite aktualisiert. Sie benötigen preventDefault() innerhalb eines Klickereignisses.

+0

Meine Wette ist, dass 'usunRow()' durch einen Ereignis-Listener auf einer Verbindung oder einem Knopf ausgelöst wird und ein 'preventDefault'-Aufruf irgendwo fehlt. Dies würde die Aktualisierung erklären. – pawel

Verwandte Themen