Announcement

Collapse
No announcement yet.

windows-location funktioniert nicht richtig

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • windows-location funktioniert nicht richtig

    Hallo an Alle,

    ich möchte eine einfach Löschbestätigung über Javascript machen aber irgendwas mache ich falsch. Nach der Bestätigung soll einfach nur die angegebene URL mit den Parametern zum löschen aufgerufen werden und fertig. Das Problem ist, das nur eine von den 3 folgenden Varianten funktioniert, ich mir aber nicht erklären kann warum.

    Diese Variante funktioniert, sieht aber nicht schön aus da die Alertmeldung nur ganz kurz angezeigt wird:

    Code:
    
    function confirm_delete(person_id)
    {
        var answer = confirm("Wirklich löschen");
        if (answer)
        {
            window.location = "https://www.meineseite.de/administrator/index.php?id=10&profil_del=1&person_id="+person_id;
            alert("Profil gelöscht");
        }
        else
        {
            alert("Profil nicht gelöscht");
        }
    }
    
    Diese Variante funktioniert nicht, Alert wird richtig ausgegeben die URL wird aber nicht aufgerufen:

    Code:
    
    function confirm_delete(person_id)
    {
        var answer = confirm("Wirklich löschen");
        if (answer)
        {
            alert("Profil gelöscht");
            window.location = "https://www.meineseite.de/administrator/index.php?id=10&profil_del=1&person_id="+person_id;
        }
        else
        {
            alert("Profil nicht gelöscht");
        }
    }
    
    Diese Variante funktioniert auch nicht, hier haben ich nur Alertmeldung weggelassen:

    Code:
    
    function confirm_delete(person_id)
    {
        var answer = confirm("Wirklich löschen");
        if (answer)
        {
            window.location = "https://www.meineseite.de/administrator/index.php?id=10&profil_del=1&person_id="+person_id;
        }
        else
        {
            alert("Profil nicht gelöscht");
        }
    }
    
    Kann mir jemand erklären warum nur die erste Variante funktioniert?

    Gruß
    René

  • #2
    Hallo,

    eigentlich dürfte keine deiner Varianten funktionieren, da window.location ein Objekt vom Typ location ist und die direkte Zuweisung eines Strings nur einen Typfehler erzeugen sollte. Die richtige Verwendung wäre:
    [highlight=javascript]
    window.location.href = "https://www.meineseite.de/administrator/index.php?id=10&profil_del=1&person_id=" + person_id;
    [/highlight]
    Danach sollte Variante 1 die Seite neu laden und ggfs. - je nach Ladedauer - die Meldung anzeigen. Variante 2 wird die Meldung anzeigen und erst beim Klick auf OK die Seite neu laden. Variante 3 lädt einfach die Seite neu und zeigt keine Meldung an.

    Für das von dir gewünschte Verhalten sollte du dich mal mit AJAX oder den passenden Methoden eines JS-Frameworks (z.B. jQuery) beschäftigen.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Ich finde das eigentlich auch nicht als gute User Experience. Bau doch eine kleine eigene Seite auf der Steht dass das Profil gelöscht wurde und leitet den Benutzer nach klicken des löschen Buttons auf die Seite um. alert() benutze ich eigentlich höchstens mal zum Debuggen.

      Comment

      Working...
      X