Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Atomks en 27 Julio 2013, 11:17 am



Título: javascript: Mandar "enter" a texarea
Publicado por: Atomks en 27 Julio 2013, 11:17 am
En muchas páginas web para mandar mensajes en tablones y chat, no existe el típico botón de "Enviar", sino que el mensaje se manda a pulsar "Enter".

No soy un entendido en javascript: La cuestión es que hace mucho que busco alguna manera de enviar la tecla enter para automatizar el envio de mensajes, pero no hay manera. Por lo visto hay una función implementada por el creador de la página web que maneja los eventos, y compara si el código de tecla es "13" (enter), y hace lo que tenga que hacer. 

Preguntas:
1 - ¿Como podría mandar esa tecla enter, para enviar el mensaje, directamente desde la consola web de un explorador web?

2 - ¿Existe alguna forma de insertar un script, en una web externa, ejemplo "JQuery", (Obviamente solo funcionando en el cliente)?


Título: Re: javascript: Mandar "enter" a texarea
Publicado por: #!drvy en 27 Julio 2013, 14:19 pm
Citar
1 - ¿Como podría mandar esa tecla enter, para enviar el mensaje, directamente desde la consola web de un explorador web

Hasta donde yo se, javascript no permite (ni implementa) ninguna función para enviar evento sendkey. Seria un riesgo de seguridad bastante grave... (imagínate que le haces Sendkey ALT+F4+ENTER varias veces).

Citar
2 - ¿Existe alguna forma de insertar un script, en una web externa, ejemplo "JQuery", (Obviamente solo funcionando en el cliente)?

Hay plugins que te permiten automatizarlo (solo hace falta buscarlo en Chrome extensions o Firefox Addons), también puedes editar el DOM (F12 en Chrome y Ctrl+Shift+I en Firefox) y agregar manualmente el <script>.

Saludos


Título: Re: javascript: Mandar "enter" a texarea
Publicado por: Almapa en 30 Julio 2013, 13:59 pm
Con lo de enviar el mensaje puede que te refieras a esto:

Código
  1. $(document).live('keypress',function() {  // función que se llama al pulsar el teclado
  2. if(event.keyCode==13){  //Código de números para determinar que tecla se ha pulsado. En el caso de la tecla Enter el número enviado es el 13.
  3. ...
  4. Enviar mensaje  //La función que quieras llevar a cabo
  5. ...
  6. }
  7. })


Por ejemplo aquí puedes ver el KeyCode:   http://www.javascripter.net/faq/keycodes.htm

Un saludo.


Título: Re: javascript: Mandar "enter" a texarea
Publicado por: 0x5d en 2 Agosto 2013, 12:18 pm
Con jQuery yo lo haría...
Index.html
Código
  1. <script src="http://code.jquery.com/jquery-latest.js"></script>
  2. <div id="mensajes"></div>
  3.  
javascript:
Código
  1. $(document).ready(function(){
  2.  $("textarea").keypress(function(e){
  3.    if(e.keyCode == 13){
  4.      var message = $(this); // O creo que $("textarea").val();
  5.      $("#mensajes").load("enter.php", {mensaje:message});
  6.    }
  7.  });
  8. });
Enter.php:
Código
  1. <?php
  2. $mensaje = strip_tags($_POST['mensaje']);
  3. echo $mensaje;
  4. /*
  5. mysql_connect(localhost, user, passwd)
  6. mysql_select_db(database);
  7. if(mysql_query("INSERT INTO mensajes VALUES('$mensaje')")){
  8.   //echo "Mensaje insertado";
  9. }else{
  10.   //echo "Error al enviar el mensaje";
  11. }
  12. */
  13. ?>
  14.  

Te dejé la tarea hecha jajaja , no lo corrí , solo lo escribí acá , pero si cambias la parte de mysql , el código te debería andar bien !


Saludos, Javier.