Hosch: Formular Daten werden unabsichtlich erneut gesendet.

Beitrag lesen

Hi

Ich habe ein Formular mit zwei select boxen, submit und reset buttons (und sonst nichts weiter)

darunter wird eine Liste ausgegeben und ein button, der das löschen dieses Elements erlaubt.

also:

<form action="PHPScript" id="Formular">
<select name="box1">
<option>...
<option>...
</select>
<select name="box2">
<option>...
<option>...
</select>
<input type="submit" ...> <input type="reset" ...>
</form>
.
.
.
<!-- nicht inerhalb irgendeines Form tags -->
Text ...<button class="delete" >Löschen</button>
Text ...<button class="delete" >Löschen</button>
Text ...<button class="delete" >Löschen</button>
...
<script...>
$(document).ready(function() {
  $(".delete").click(function() {
  var dataString = ...
    $.ajax({
      type: "POST",
      url: "AnderesPHPscript"
      data: dataString,
...</script></body>...

Soweit funktioniert das auch - nur wenn man oben im Formular was versendet und danach unten was anderes oder das eben hinzugefügte wieder löschen will, glaubt der browser aus irgendwelchen gründen, er müsste das zuvor gesendete formular von oben auch senden, wenn man unten was löschen will.

Im Firefox folgt da eine Abfrage und Chrome macht das mal eben ohne nachfragen. Am ende wird ein neuer eintrag mit den daten von vorher erstellt und dann der alte gelöscht (oder auch anders herum), solange man versucht etwas zu löschen.

Sonst kann man nur das Fenster neu laden oder den browser schließen und wieder öffnen.

Solange man nur was löscht ohne vorher was hinzugefügt zu haben läuft das. und nur hinzufügen geht auch.

Wie kann ich dafür sorgen, dass der Browser nicht glaubt, er müsste den alten Mist nochmal versenden, wenn man die unteren delete-Buttons klickt?