еще вопрос..
мне нужно очистить textarea после отправки формы ..
При нажатии на кнопку все ок.. textarea очищается после отправления формы..
но при отправке формы через Ctrl+Enter этого не происходит..
Где ошибка ?
<form id="myForm" action="site/action" onsubmit="clearForm(this); return true;">
Сообщение:
<textarea id="msg" name="msg" cols="36" rows="4" style="width:90%;" ></textarea>
</br></br>
<input type="submit" value="Отправить сообщение">
</form>
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;
}
$.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.elements.msg.value='';
}, 100);
}