Hey j'ai un code jquery/ajax pour une shoutbox et le problème que je rencontre est celui de IE quand j'ai eu les étiquettes de forme autour du message d'entrée et de soumettre le bouton dans le code html, en appuyant sur la touche Entrée Dans la boîte de message il rechargeait la page, cela ne se produisait pas dans d'autres navigateurs, donc j'ai enlevé le formulaire parce qu'il n'était pas nécessaire, et la clé d'entrée soumet maintenant le message dans IE mais pas dans chrome ou firefox. Y at-il un moyen que je puisse avoir à la fois un événement onclick et entrer un événement ensemble pour corriger cela? Pour le moment, une fois que le bouton est cliqué, le bouton est désactivé pendant 2 secondes, puis il est possible de le faire si le bouton Entrée est enfoncé.JQuery shoutbox IE erreur
Je sais que j'ai beaucoup de css en ligne pour le shoutout box mais c'est juste une version de test pour le moment, je vais ranger ça une fois terminé.
Toute aide est très appréciée.
I had the form tag like so
<form method="POST" action=""/>
<div id="shoutout" style="position:absolute; height:auto; overflow-x:hidden; overflow-y:hidden; float:right; right:10px; background-color:#121212; color:#FFFFFF; font-size:14px; width:305px; padding-left:1px; padding-right:1px; padding-bottom:1px; font-family: Arial, Helvetica, sans-serif;">
<h2>Shout Out!</h2>
<strong>Message:</strong>
<input type="text" id="message" name="message"/>
<input type="submit" id="submit" value="Submit"/>
<div id="messagecontainer" style="position:relative; height:240px; overflow-x:hidden; overflow-y:auto; background-color:#F5F5F5; color: #F6221D; font-size:12px; width:305px; margin-top:5px;">
<div id="shoutmessages" style="position:relative; word-wrap: break-word; padding-left:5px; width:auto; height:auto; overflow-y:hidden; overflow-x:hidden;">
</div>
</div>
</div>
//JQUERY AJAX CODE BELOW
<script type="text/javascript">
$(function(){
refresh_shoutbox();
setInterval("refresh_shoutbox()", 10000);
var running = false;
$("#message").keypress(function(e){
if (e.which == 13 && running === true){
return false;
}
});
$("#submit").click(function(){
if ($("#message").val() != ''){
running = true;
$("#submit").attr("disabled","disabled");
setTimeout(function(){
$("#submit").removeAttr("disabled")
running = false;
}, 2000);
}else{
return false;
}
var name = $("#name").val();
var message = $("#message").val();
var data = 'name=' + name + '&message=' + message;
$.ajax({
type: "POST",
url: "shout.php",
data: data,
success: function(html){
$("#shoutmessages").slideToggle(0, function(){
$(this).html(html).slideToggle(0);
$("#message").val("");
});
}
});
return false;
});
});
function refresh_shoutbox(){
var data = 'refresh=1';
$.ajax({
type: "POST",
url: "shout.php",
data: data,
success: function(html){
$("#shoutmessages").html(html);
}
});
}
bien pour une raison quelconque, dans IE et chrome et firefox, je ne peux pas soumettre le message en appuyant sur la touche Entrée, seulement en cliquant sur le bouton soumettre, je pensais que ça fonctionnait dans IE mais la touche Entrée ne fonctionne pas d'entre eux en fait. Non, pas d'erreurs de ceux non plus. – user970117
Bien dans votre code, quand la touche d'entrée est enfoncée, vous lui demandez de retourner false; ', qu'est-ce que vous attendez de faire? – element119
Ce n'est que si le bouton est désactivé qu'il retournera false car parce que var running sera défini sur true. – user970117