Navigations-Select Element mit Confirmabfrage

Hatachy

Erfahrenes Mitglied
Hi

also ich habe meine Navigation im Admin Bereich als Select-elementt, da pro Element sehr viele Operationen ausgeführt werden können.

Code:
<select name="navi" onChange="window.location=(this.options[this.selectedIndex].value)">
<option value="test">text</option>
</select>

Soweit ja kein Problem, aber wie kombiniere ich es mit einer confirm abfrage, wenns um Löschen geht ?
Habe versucht ein "onClick="return confirm('wirklich ?')" in den Option Tag einzufügen. Funkioniert auch, doch nun kommt das große Aber:

Die Seite wird bereits gewechselt, während die Confirmabfrage auftaucht. Wenn schon alles zu spät ist, nützt mir die Frage leider auch nichts mehr ;)

Hat jemand ne Idee, wie man das ändern könnte ? (Ohne Button wenns geht!)

Danke schonmal ;)
 
Dann musst du eine Funktion schreiben, die die Confirmabfrage implementiert,, unt return zurueck gibt, falls "Nein" gewaehlt wurde.
 
aha, und wie ? :rolleyes:
Funktion schreiben ist klar, aber soll ich da machen ? steh warscheinlich mal wieder bloß aufm schlauch, aber hab gerade kein Plan
 
Eigentlich das selbe wie vorher:
Code:
function goto (link) //list.option[...].value als Parameter
{
  var Check =Confirm ("Wirklich?") ; // OK=true; Abbrechen=false;
  if (Check == true)
  {
    window.location = link ;
  }
}

Kann leider nix garantieren, aber versuchs mal :-)
 
Hab die ganze Zeit den Fehler gesucht. Der Fehler war, dass es in Mozilla schonmal nicht funktioniert. Im IE klappts. Danke schonmal ;)

Jemand nun noch ne Idee, wie man das dem Mozilla und Co. auch beibringen kann ?
 
Habs jetzt nicht ausprobiert...aber versuch mal statt goto() einen anderen Namen für die Funktion.....
goto ist in Javascript ein reservierter Name ,und darf daher nicht für eigene Variablen und Funktionen verwendet werden.
 
funktioniert, danke.

nun bleibt nur noch ein Problem. Er soll die Abfrage ja nur machen, wenn es z.B. ums Löschen geht. Habe schon dadran gedacht anstatt "http://...?act=del", einfach "_confirm_http://...?act=del" zu übergeben. Aber leider finde ich in Javascript keine Funktion á la PHP-explode, oder str_pos und str_replace. Jemand ne Idee, wie man sowas denn in JavaScript realisieren könnte ?
 
Es gibt in Javascript die Methoden split(),substr(),substring(),indexOf(),lastIndexOf(),search() und match()......alle für deinen Zweck zu gebrauchen.........da hast du wohl am falschen Platz gesucht:rolleyes:
 
tja, so ist das, wenn man zu blöd ist bei SelfHTML durch die Javascript Sachen durzufinden :p

Naja, danke schön, habe jetzt:
Code:
function confirmop (link) //list.option[...].value als Parameter
{
  if(link.match(/^_confirm_/g))
  {
    var Check = confirm("Wirklich?") ; 
    if (Check == true)
    {
      window.location = link.substr(9,(link.length-9)) ;
    }
  }
  else
  {
    window.location = link ;
  }
}
und funktioniert ;)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück