Доброго времени суток.
Взял готовый скрипт гостевой тут _tp://codething.ru/guestbook2.php так как сам написать обработку запроса на AJAX пока не умею правильно)
немного переделал скрипт. Вроде работает нормально везде и выполняет все что нужно.
Но так как я нубоват в JS, то боюсь, что допустил какие-то ошибки.
Можно ли как-то еще сократить или улучшить данный код?
Если будет отправлен большой текст в несколько тысяч символов, это ничего?
Сейчас show_messages() грузится незаметно. Можно ли прикрутить туда индикатор? Просто, чтобы юзер видел, что список загружается.
JS
CODE ( javascript):
скопировать код в буфер обмена
<script> function show_messages() { $.ajax({ url: "show.php", cache: false, success: function(html){ $("#messages").html(html); } }); } $(document).ready(function(){ show_messages(); $("#myForm").submit(function() { var name = $("#username").val(); var msg = $("#msg").val(); if (msg == '' || name == '') { $("#flash").fadeIn(400).html('<span class="note-loading">Необходимо заполнить отмеченные поля</span>'); $("#flash").fadeOut(2000); } else { $("#flash").fadeIn(400).html('<span class="note-loading">Loading...</span>'); $.ajax({ type: "POST", url: "action.php", data: "username="+name+"&msg="+msg+"&action=add", success: function(msg){ show_messages(); document.getElementById('msg').value = ''; $("#msg").focus(); $("#flash").hide(); } }); } return false; }); }); </script>
HTML
CODE ( html):
скопировать код в буфер обмена
<form id="myForm"> <table border="0"> <tr> <td width="160"> Имя пользователя: </td> <td> <input id="username" name="username" style="width: 300px;"> </td> </tr> <tr> <td width="160" valign="top"> Сообщение: <font color="red">*</font> </td> <td> <textarea id="msg" name="msg" style="width: 300px;"></textarea> </td> </tr> <tr> <td width="160"> <input id="btn" type="submit" value="Отправить сообщение"> </td> <td> <div id="flash"></div> </td> </tr> </table> </form> <div id="messages"></div>
(Отредактировано автором: 20 Октября, 2011 - 19:05:42)
|