Textarea nach Tastatureingebe für javascript gesperrt

gupi

Grünschnabel
Konfiguration:
Firefox 3.6.10 mit Firebug (aktiv) und ItsAllText (inaktiv)

Hallo,
ich belege ein Formular mit AJAX vor. Die Inhalte können vom Anwender dann geändert werden. Via AJAX werden die Inhalte nack Klick auf einen Button an ein PHP Script geschickt.
Klappt soweit ausgezeichnet, aber Textareas lassen sich nicht mehr über AJAX (jquery) aktualisieren, sobald der Anwender das Feld verändert hatte.
Dies trifft nur auf Textareas zu, Inputfelder funktionieren wie gewünscht.
Auch ein Versuch die Seite neu zu laden - über den Reload Button - zeigt keine Wirkung. Die textarea behält den Inhalt seit der Tastatureingabe bei!

Diesen Effekt tritt nur mit Firefox auf - Safari und IE machen da keine Probleme.

Tritt hier ein beabsichtigter Schutzmechanismus für die Anwendereingabe in Kraft? Es hat ja keinen "normalen" Submit gegeben sondern nur das posting via AJAX.

Gruß
Gunter
 
Hab eine Lösung/workaround gefunden:

funktioniert nicht mit FF wenn das textfeld vom Anwender beschrieben/verändert wurde!
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript" >
      $(document).ready(function(){
        $("#a1").text("dieser Text stammt vom Computer");
      });
      function iniText() {
        $("#a1").text("dieser Text stammt auch vom Computer");
      }
    </script>
    <title>Tester</title>
    
</head>
<body>
  <textarea id='a1' name='a1' cols='50' rows='5'></textarea>
  <button onclick='iniText()'>Init</button>
</body>
</html>

so funtionierts auch nach einer Anwendereingabe (Zeile 12):
Code:
$("#a1").val("dieser Text stammt auch vom Computer");

Gruß
Gunter
 
Zuletzt bearbeitet:
Zurück