hello,
je pense que ce serait bien une section pour partager ses petits bouts de code sur ce site (si ça existe déjà, veuillez m'en excuser.. pas trouvé :$)
donc voici mon premier code:
surcharge de la touche "enter" pour obtenir un comportement d'un "textarea" semblable à l'envoie de messages sous msn. ("enter" = envoie du message et "ctrl+enter" = saut de ligne normal)
Modifié par bogs (23 Sep 2010 - 15:56)
je pense que ce serait bien une section pour partager ses petits bouts de code sur ce site (si ça existe déjà, veuillez m'en excuser.. pas trouvé :$)
donc voici mon premier code:
surcharge de la touche "enter" pour obtenir un comportement d'un "textarea" semblable à l'envoie de messages sous msn. ("enter" = envoie du message et "ctrl+enter" = saut de ligne normal)
<textarea onkeypress="return capture();"></textarea>
function capture(){
var evt = window.event || capture.caller.arguments[0];
var target = evt.target || evt.srcElement;
var keyCode = evt.keyCode || evt.charCode;
if (keyCode == 13 && evt.ctrlKey || keyCode == 10) { // CTRL+ENTER
if(document.selection){//IE
var range = document.selection.createRange();
range.text = "\n"; // replace selection by \n
range.select(); // jump cursor position at end of line
}
else{ // others navigator
var pos = target.selectionStart;
var textBefore = target.value.substring(0, pos);
var textAfter = target.value.substring(target.selectionEnd, target.value.length);
target.value = textBefore+"\n"+textAfter;
target.selectionEnd = pos+1;
}
}
else if (keyCode == 13){ // ENTER
sendMessage(target.value);
target.value = "";
if (evt.preventDefault) evt.preventDefault(); // cancel key
return false;
}
return true;
}
function sendMessage(msg){
alert("message envoyé:\n"+msg)
// à remplacer par votre code ajax
}

Modifié par bogs (23 Sep 2010 - 15:56)