Tengo un chat donde escribo un mensaje, y envio datos con jquery a un archivo php, el script funciona perfectamente sin jquery, pero cuando envio por jquery no se hace el insert, se recarga la pantalla y no veo cual puede ser el problema.
Código:
<form method="post"> <textarea name="mensajechat" id="mensajechat"></textarea> <input type="hidden" name="usuario" id="usuario" value="<?php echo $_SESSION['usuario_email']; ?>"> <input type="hidden" name="destinatario" id="destinatario" value="[email protected]"> <button class="btn btn-info" onClick="javascript:EnviarDatos();">Enviar</button> </form> <div id="#mensaje"></div> <script type="text/javascript"> function EnviarDatos(){ var mensaje = document.getElementById('mensajechat').value; var usuario = document.getElementById('usuario').value; var destino = document.getElementById('destinatario').value; $.ajax({ type:'POST', url:"enviarchat.php", data:('mensaje='+mensaje+'&usuario='+usuario+'&destino='+destino), success: function(respuesta){ if(respuesta==1){ $('#mensaje').html('Tu mensaje se ha enviado correctamente'); } else{ $('#mensaje').html('Tu mensaje no se ha enviado'); } } }) } </script> </div> </div> </div> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
Ese seria el codigo de la pagina principal, y el enviarchat.php es el siguiente
Código:
<?php require('inc/dbconnect.php'); if($_POST['mensajechat']) { $StrMensaje =$_POST['mensajechat']; $StrUsuario =$_POST['usuario']; $StrDestinatario =$_POST['destinatario']; $FechaMensaje=date("Y-m-d H:i:s"); $InserSql = sprintf("INSERT INTO `db599871615`.`LoL_Mensajes` (`Nid`, `StrUsuario`, `StrDestinatario`, `Date`, `StrMensaje`) VALUES (NULL, '".$StrUsuario."', '".$StrDestinatario."', '".$FechaMensaje."', '".$StrMensaje."');"); if($Resultado = mysqli_query($connect,$InserSql)){ echo 1; } } ?>