ChrisB: location.replace()

Beitrag lesen

Hi,

zum ersten möchte ich sagen das ich jetzt 7 Stunden im Internet gesucht habe und nicht wirklich findig geworden bin,

Dann hast du schlecht gesucht.

Hier gab's erst letztens eine recht ausfuehrliche Diskussion zum Thema.

<form name="form_79_art_2" method="POST" onsubmit="return false">
  <input type="submit" onclick="location.replace('formular/list.phtml')"

Leider werden durch das onsubmit="return false" keine Werte per POST weitergereicht,

Dadurch wir das komplette Absenden des Formulars verhindert, ja.
Und das location.replace auf dem submit-Button loest natuerlich nur einen GET-Request aus, und diesen ohne jegliche Uebergabe weiterer Parameter.

wie kann ich das ändern oder gibt es noch andere Möglichkeiten!

Wenn GET statt POST eine denkbare Alternative waere, dann koenntest du dir den entsprechenden Query-String aus den Formularfeldinhalten selber zusammenbasteln, und beim replace verwenden.
Wenn's POST bleiben soll, kaeme noch AJAX als zu missbrauchende Technik in Frage.

Beides "funzt" natuerlich nicht fuer Dateiuploads.

Hier meine Programmlogik für die betreffenden Formulare, falls diese wichtig sein sollte.

  1. klasse xy ruft die seite auf
  2. ausfüllen oder nicht
  3. senden an formular/list.phtml (rewrite an modul: formular und action: list in Klasse xY)
    4a. nicht ausgefüllt: altes template laden mit $_POST und diverse
    4b. ausgefüllt: neues template oder altes mit neuen feldern
    4c. ende max(felder) erreicht auswertung: template, diverse

In wie fern die Benutzung der Zurueck-Funktionalitaet des Browsers dabei "schaedlich" sein koennte, erschliesst sich mir zumindest daraus noch nicht.

MfG ChrisB