У меня есть чат на моем сайте, который работает на jQuery.Однако проблема в том, что в IE9, когда пользователь нажимает Enter в поле ввода текста, он отправляет дважды.Я предполагаю, что он может думать, что он также должен нажать кнопку?
Любая помощь?
<script>
$('#message').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13')
{
sendPostMessage();
}
});
$('#sendMessage').click(function(event){
if(this.disabled == true)
{
alert('meh');
}
var toSend = $('#message').val();
if(toSend.length > 1 && toSend.length < 160)
{
sendPostMessage();
//alert('You are sending a message.' + toSend);
}
else
{
alert('Invalid message.');
this.disabled = true;
window.setTimeout(function(){
$('#sendMessage').removeAttr('disabled');
}, 3000);
}
});
jQuery.fn.compare = function(t) {
if(this.length != t.length)
{
return false;
}
var a = this.sort(), b = t.sort();
for(var i = 0; t[i]; i++)
{
if(a[i] !== b[i])
{
return false;
}
}
return true;
};
function sendPostMessage()
{
$.post("http://www.prizetv.org/alpha/ajax.php", { "message": $('#message').val() }, function(data) {
//alert(data);
$('#message').val('');
}
);
}
var oldMessages;
var temp;
var scroll;
$(document).ready(function() {update();});
function update() {
$.getJSON("http://www.prizetv.org/alpha/ajax.php", function(json) {
$("#actual").empty();
jQuery.each(json, function(i, val) {
var test = val[0] + " <b>" + val[1] + "</b>: " + val[2] + "<br />";
$("#actual").append(test);
});
$("#actual").scrollTop(0);
});
setTimeout(update, 1000);
}
</script>