eddi: wieso hauts mir die URI zusammen?

Hallo,

folgende Situation:

irgendwo zwischen <border>

<form name='meine'>
viele <input type='text' usw...>

einige Buttons

<img src="bilder/btn-loeschen.gif" border="0" onclick ="loeschAll()" style="cursor: pointer">

</form>

</border>

oben zwischen <script type="text/javascript">

function loeschAll() {
  if(confirm('Wollen Sie wirklich alles löschen?')){
    document.forms['meine'].action ="index.php?i=loeschAll&session=<? echo $sessionID ?>";
    document.forms['meine'].submit();
    return;
  }
}

</script>

Immer wenn ich nun, wie im obigen Beispiel eine Confirmbox aufrufe,
sieht die URI so aus:
index.php?irgendwas[]=nadas&nochwas[]=nommalwas... usw.
halt alle Formelemente, die was zu senden haben im GET-Format.

Wird keine confirm-box aufgerufen, klappts.

Was muss ich tun, damits auch mit den confirm-boxen klappt?

Gruß eddi

PS:
Ich habs auch schon mit <input type='image' src='xxxxx.gif' onclick='loeschAll()'> probiert.
Und <a href='javascript:loeschAll()'>usw...</a>.
Immer das Selbe, solbald eine Confirm-Box dazwischen hängt ist's Essig.

  1. Immer wenn ich nun, wie im obigen Beispiel eine Confirmbox aufrufe,
    sieht die URI so aus:

    Bist du sicher, dass kein Fehler auftritt? Die Fehlerkonsole ist leer?

    Struppi.

    1. aus:

      Bist du sicher, dass kein Fehler auftritt? Die Fehlerkonsole ist leer?

      Struppi.

      Ja, absolut sicher!

      eddi

      1. Ja, absolut sicher!

        Das macht keinen Sinn. Du weißt auch wo du die Fehlermeldungen findest?

        Struppi.

  2. Lieber eddi,

    was genau hättest Du denn gerne?

    <form name='meine'>

    Hier wird keine Methode ("get" oder "post") definiert, also kommt die Voreinstellung "get" zum Einsatz. Das bedeutet, dass die Eingabefelder namentlich zusammen mit ihren Werten im URI stehend als "neue Seite" aufgerufen werden.

    Immer wenn ich nun, wie im obigen Beispiel eine Confirmbox aufrufe,
    sieht die URI so aus:
    index.php?irgendwas[]=nadas&nochwas[]=nommalwas... usw.
    halt alle Formelemente, die was zu senden haben im GET-Format.

    Das ist auch richtig so - "works as designed".

    Wird keine confirm-box aufgerufen, klappts.

    Was "klappt"? Was passiert denn anderes?

    Was muss ich tun, damits auch mit den confirm-boxen klappt?

    Was hättest Du denn gerne (s.o.)?

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Das ist auch richtig so - "works as designed".

      Wird keine confirm-box aufgerufen, klappts.

      Was "klappt"? Was passiert denn anderes?

      Was muss ich tun, damits auch mit den confirm-boxen klappt?

      Was hättest Du denn gerne (s.o.)?

      Liebe Grüße,

      Felix Riesterer.

      Hallo Felix,

      ich hatte nicht bedacht, dass die fehlende Methode im Form-Tag, standardmässig GET annimmt und damit alle <input tags, die was zu senden haben somit an der URI hängen.
      Ich hatte die POST Methode im javascript Teil weggelassen, weil ich die Forminhalte für das löschen nicht brauche.
      Ich dachte ich könnte damit was sparen.
      Es lag also daran und nicht am confirm.

      Ich setze nun die Methode explizit auf POST und siehe da, die URI ist genauso, wie sie bei action im Javascript-Teil angegeben ist.

      Danke

      1. Ich hatte die POST Methode im javascript Teil weggelassen, weil ich die Forminhalte für das löschen nicht brauche.

        Jetzt verstehe ich auch das Problem, aber warum nimmst du einen Button?

        <a href="index.php?i=loeschAll&session=<? echo $sessionID ?>"  
        onclick="return confirm('Wollen Sie wirklich alles löschen?')">  
        
        

        Struppi.

        1. @@Struppi:

          nuqneH

          [code lang=html]<a href="index.php?i=loeschAll&session=<? echo $sessionID ?>"


          Fehler: Kontextwechsel nicht beachtet. [HTML401 §B.2.2, ESCAPES, FAQ]

          Und short_open_tags sind auch nicht unbedingt anzuraten. Und wenn man sie schon verwendet, dann konsequent: <?=

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
  3. Mahlzeit eddi,

    irgendwo zwischen <border>

    Was zum Henker soll <border> sein? http://de.selfhtml.org/referenz/elemente.htm@title=HTML ist es jedenfalls nicht ... solange Deine Seite(n) nicht valide ist/sind, solltest Du Dich zuallererst einmal *DARUM* kümmern.

    Immer das Selbe, solbald eine Confirm-Box dazwischen hängt ist's Essig.

    Es wird vermutlich nicht an den "Confirm-Boxen" liegen, sondern an Deinem bisher mangelnden Verständnis der Funktionsweise von HTML-Formularen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|