Thomas Schmieder: Aktualisieren verbieten!?

Beitrag lesen

Hallo Stefan,

wenn da durch das Aktualisieren Daten nochmal in die DB geschrieben werden, dann ist das ein serverseitiges Problem. Da musst Du halt mit Sessions und/oder Cookies arbeiten.

Wenn Du aber meinst, dass es dem User möglich ist, durch den Back-Button an seinem Browser das Formular nochmals darzustellen und durch SUBMIT nochmals abzuschicken, dann bau etwas JavaScript ein:

Nur ein paar Gedaken aus meiner Bastelkiste:

<html><head><title>Test</title>
<script type="text/javascript">
<!--
  function BTN_enable()
  {
     document.forms[0].elements["Absendebutton"].disabled = false;
     //alert("ist angekommen");
  }

function BTN_disable()
  {
     document.forms[0].elements["Absendebutton"].disabled = true;
     //alert("ist angekommen");
  }

//-->
</script>

</head><body>
<form name="Testform" action="abc.html" onSubmit="BTN_disable();">
<input type="radio" name="Auto" value="Porsche" checked> Porsche<br>
<input type="radio" name="Auto" value="Mercedes" alt="hier klicken" title="nein, nicht!"> Mercedes<br>
Name: <input type="text" size="30" name="Name" tabindex="1" readonly value="Nuckelpinne"><br>
Typ : <input type="text" size="30" name="Typ" tabindex="2" title="ohne Reue" ><br>
<input type="submit" name="Absendebutton" value="Absenden" disabled>
<input type="button" name="BTNenableSend" value="Absenden EIN" onClick="BTN_enable();"><br>
</form>
<script type="text/javascript">
<!--
for(var i=0;i<document.Testform.length;++i)
 {
  document.write("<br>");
  document.write(i," <b>Elementname: </b>" + document.forms[0].elements[i].name);
  document.write(",<b> Elementtyp: </b>" + document.forms[0].elements[i].type);
  document.write(",<b> Checked: </b>" + document.forms[0].elements[i].checked);
  // document.write(",<b> TabIndex: </b>" + document.forms[0].elements[i].tabindex);
  document.write(",<b> ReadOnly: </b>" + document.forms[0].elements[i].style.ReadOnly); //undefined
  // document.write(",<b> Elementtyp: </b>" + document.forms[0].elements[i].align);
  document.write(",<b> AltText: </b>" + document.forms[0].elements[i].alt);
  //document.write(",<b> Class: </b>" + document.forms[0].elements[i].class);   //schwerer Fehler!!!
  document.write(",<b> Title: </b>" + document.forms[0].elements[i].title);
  document.write(",<b> Style: </b>" + document.forms[0].elements[i].style);
  document.write(",<b> Disabled: </b>" + document.forms[0].elements[i].disabled);

}

//-->
</script>
</body></html>

Wie gesagt, nur Rohmaterial zum Weiterdenken.

Grüße aus http://www.braunschweig.de

Tom