1º Se envie con pulsar ENTER, no hay botón.
2º Al enviarse, que no actualice la página con el action.
3º Que se envie todo a la SQL, ya que con el metodo que encontré de enter... o no va o no se puede enviar...
Nota: Con esto... no funciona ninguna excepto la 2ª, con otro cambio del código que he puesto, funcionan las 3, excepto que no se inserta el mensaje, todo lo demás si aunque surge un 4º problema que es que el mensaje escrito no se borra.
Aquí el codigo:
Código HTML:
<form action="" method="post"> <textarea name="chatear" id="chatear" class="areaescribir" onkeypress="return checkearTecla(event)"></textarea> <input id="mandar" type="submit" name="mandar" class="botoninvisible"> </form> <script type="text/javascript"> function checkearTecla(e) { if(e.keyCode == 13) // 13 es el código de tecla del enter document.mandar.submit(); // envío el formulario return true; // Devuelvo true en caso de no ser el enter } <? if(isset($_POST['mandar'])){ $clientmsg = $_POST['chatear']; $idusuarioamigo = $filaamigos['idusuariopedido']; $usuarioamigo = $filaamigos['usuariopedido']; $de = $_SESSION['nombre']; $idde = $_SESSION['idusuario']; $imagenusuario = $_SESSION['avatar']; $imagenusuarioreceptor = $filaamigos['avatarusuariopedido']; mysql_query("INSERT INTO chat (mensaje,idpara,para,de,idde,imagenusuarioreceptor,imagenusuario) VALUES ('$clientmsg','$idusuarioamigo','$usuarioamigo','$de','$idde','$imagenusuarioreceptor','$imagenusuario')"); } ?> $(function() { $("mandar").submit(function() { $.ajax({ type: "POST", url: "<?=$_SERVER['PHP_SELF']?>", data: dataString, success: function() { }); } }); </script>