Цитата:
<form id="myForm" target="frame1" onkeyup="" action="site/action" onsubmit="clearForm(this);return true;"> Сообщение:</br> <textarea id="msg" name="msg" cols="36" rows="4" style="width:90%;" ></textarea> </br></br> <input type="submit" value="Отправить сообщение" onclick=""> </form> <script type="text/javascript"> function splash() { if (document.myForm.msg.value =='') { alert ("Заполните текст сообщения!"); return false; } return true; } // загрузка сообщений из БД в контейнер messages function show_messages() { $.ajax({ url: "show.php", data: "&page=<?=intval($_GET['page'])?>", cache: false, success: function(html){ $("#messages").html(html); } }); } $(document).ready(function(){ show_messages(); // контроль и отправка данных на сервер в фоновом режиме при нажатии на кнопку "отправить сообщение" $("#myForm").submit(function(){ var msg = $("#msg").val(); if (msg =='') { alert ("Заполните текст сообщения!"); return false; } $.ajax({ type: "POST", url: "action.php", data: "msg="+msg+"&action=add", success: function(msg){ show_messages(); } }); return false; }); show_messages(); setInterval("show_messages()", 10000); var flagGoIn = true; $('#myForm') .off('keydown') .on('keydown', function(event){ if (event.keyCode == 17) { $('#myForm').on('keydown', function(event){ var msg = $("#msg").val(); if (event.keyCode == 13 && flagGoIn) { if (msg =='') { alert ("Заполните текст сообщения!"); return false; }setTimeout(function() {$('#myForm').reset()}, 100) $.ajax({ type: "POST", url: "action.php", data: "msg="+msg+"&action=add", success: function(msg){ show_messages(); } }); //$('#myForm').off('keydown'); flagGoIn = false; } }) .keyup(function(event){ flagGoIn = true; }); } }); }); function clearForm(f) { window.setTimeout(function() { f.reset(); }, 100); } </script> |
Цитата:
Цитата:
|
Deff, вопрос не читай @ сразу отвечай!
|
VEGA,
не надо таскать код по разным местам - сделай функцию отправки сообщения и ссылайся на нее при нажатии на кнопку и на комбинацию клавиш. Цитата:
Если так не делать, то при переходе юзера по комнате события на элементе будут накапливаться и сначала у тебя отправиться один раз, потом два, три и т.д. Скрипт отдал "как есть" - пусть он сам разбирается, если хочет научиться. |
Цитата:
а как вызвать функцию clearForm ? function clearForm(f) { window.setTimeout(function() { f.elements.msg.value=''; }, 100); } пробую вот так .. не работает var flagGoIn = true; $('#myForm') .off('keydown') .on('keydown', function(event){ if (event.keyCode == 17) { $('#myForm').on('keydown', function(event){ var msg = $("#msg").val(); if (event.keyCode == 13 && flagGoIn) { if (msg =='') { alert ("Заполните текст сообщения!"); return false; } $.ajax({ type: "POST", url: "action.php", data: "msg="+msg+"&action=add", clearForm(); success: function(msg){ show_messages(); } }); //$('#myForm').off('keydown'); flagGoIn = false; } }) .keyup(function(event){ flagGoIn = true; }); } }); |
Цитата:
{ <свойство>: myFnc() } |
Так ведь надо агрументом ссылку передать на форму. Посмотри на определение функции. Ну да, и затолкал вызов хрен пойми куда.
|
$('#твоя-тексареа').val(''); вставить сразу по отправке сообщения VEGA, попробуй проанализировать http://37a.su/js/chatIn.js |
Цитата:
var flagGoIn = true; $('#myForm') .off('keydown') .on('keydown', function(event){ if (event.keyCode == 17) { $('#myForm').on('keydown', function(event){ var msg = $("#msg").val(); if (event.keyCode == 13 && flagGoIn) { if (msg =='') { alert ("Заполните текст сообщения!"); return false; } $.ajax({ type: "POST", url: "action.php", data: "msg="+msg+"&action=add", success: function(msg){ show_messages(); clearForm(); } }); $('#msg').val(''); //$('#myForm').off('keydown'); flagGoIn = false; } }) .keyup(function(event){ flagGoIn = true; }); } }); Вы опять мне очень помогли :) Благодарю вас .. Все работает:thanks: |
Часовой пояс GMT +3, время: 15:30. |