Quiero usar el complemento jquery-modal para hacer comentarios para varios elementos de formulario. Funciona bien, siempre que no haya entrada de teclado. De lo contrario, recuerda la última entrada y la mantiene en el área de texto, incluso si la vacío antes.
Este es el formulario que se muestra en la ventana modal.
<a title="" href="#" onclick="getRechKomm('12345'); return false;" class="edit_komm">Kommentar</a> <form id="RechKommForm" class="none"> <h3></h3> <p><textarea name="kommentar" id="ptrRechKomm"></textarea></p> <p><input type="hidden" name="rechid" id="ptrRechKommID" value=""></p> </form> <script> function getRechKomm(rechnr){ $('#ptrRechKomm').html(''); $.ajax({ type: "POST", url: "ptr_getrechkomm.php", data: {rechnr: rechnr}, success: function(data){ readSession(); $('#ptrRechKomm').html(data); $('#ptrRechKommID').val(rechnr); $('#RechKommForm').modal({ escapeClose:false, clickClose: false, fadeDuration:500 }); } }); } $('#RechKommForm').on($.modal.BEFORE_CLOSE, function(event, modal) { $.ajax({ type: 'POST', url: 'ptr_putrechkomm.php', cache: false, data: $("#RechKommForm").serialize(), success: function (data) { $('#ptrRechKomm').html(''); $('#ptrRechKommID').val(''); } }); }); </script>Entonces, si llama al comentario para el ID 12345 y escribe un comentario "Komm 12345", todo está bien. Después de eso, llamo al comentario de ID 23456, que puede ser ya "Komm 23456". Se carga desde la base de datos y se coloca en el área de texto #ptrRechKomm, pero el primer texto sigue ahí. Entonces, en el área de texto está "Komm 12345Komm 23456".
¿De dónde proviene el contenido antiguo y cómo eliminarlo?
Actualización: ¡Olvídate de todo eso! No sé por qué, pero pensé que un área de texto debe llenarse con html(). Eso está funcionando, pero solo una vez. ¡Llenarlo con val() es la forma correcta!