Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Automatyczne przechodzenie do input oraz submit pod enterem, Potrzebne do skryptu czatu
Mephis
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


Witam.

Tworzę mały skrypcik czatu. Potrzebuję kodu, który po wyświetleniu strony automatycznie przeniesie do pola "input" gdzie będize można od razu pisać, oraz, żeby po wciśnięciu "enter" wykonywała się akcja pod przyciskiem submit.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mephis
post
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


Ja się poddaję. Od długiego czasu głowie się nad tym, ale wciąż bez efektu.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.  
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <link rel='stylesheet' type='text/css' href='czat.css' />
  7. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
  8. <script src="http://malsup.github.com/jquery.form.js"></script>
  9. </head>
  10.  
  11. <body>
  12.  
  13. <script type="text/javascript">
  14. jQuery(function ($) { // czekamy na załadowanie DOM
  15.  
  16. $("form") // znajdujemy formularz
  17. .submit(function (event) { // rejestrujemy funkcję reagującą na zdarzenie wysłania formularza
  18. var $form = $(this); // referencja do formularza, który jest wysyłany
  19. event.preventDefault(); // nie pozwalamy przeglądarce przesłać formularza, bo sami to zrobimy ajaxem
  20.  
  21. $.ajax({ // wysyłamy ajaxem
  22. type: $form.attr("method"), // metodą jaką ma zdefiniowany formularz
  23. url: $form.attr("action"), // tam gdzie wskazuje atrybut action
  24. data: $form.serialize() // serializujemy formularz i ustawiamy to jako dane do wysłania ajaxem
  25. });
  26. });
  27.  
  28. .keypress(function (event) {
  29. if(event.which == 13) {
  30. $(this).blur();
  31. $('#submit').focus().click();
  32. }
  33. });
  34.  
  35. });
  36. </script>
  37.  
  38. <div>
  39. <center>
  40. <form id="form" method="post" action="dodaj.php" >
  41. <input type="hidden" name="autor" value="autor" />
  42. <textarea class="input" type="text" name="tresc" style="height: 17px;" value=""/></textarea>
  43. <input class="przycisk" type="submit" name="add_entry" value="Wyślij" />
  44. </form>
  45. </center>
  46.  
  47. </div>
  48. </body>
  49. </html>
  50.  


Cóż, użyłem ajaxa do dynamicznego wysyłania danych...
Po napisaniu czegoś i kliknięciu submit, zostaje wcześniej wpisany tekst, co uniemożliwia wygodne korzystanie z "czatu".
Szukałem długo rozwiązań na to, aby po wysłaniu kasował się 'value' textarey, albo ogólnie resetował formularz, ale bez skutku.
Do tego jak widać, próbowałem... nieudowlnie próbowałem zrobić jeszcze tak, aby formularz wysyłał się po kliknięciu ENTER (działa przy inpucie, ale musiałem z niego zrezygnować, gdyż przy nim zapamiętywane są wpisywane do formularza znaki, a to tez mao wygodne gd sie ciągle pisze) - bez skutku...
Mógłby ktoś mnie precyzyjnie naprowadzić? - kasowanie wartości textarea i submit pod enterem...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 12:08