11548 sujets

JavaScript, DOM et API Web HTML5

Bonsoir

(Désolé ne connaissant pas énormément javascript je ne savais pas formuler mon titre pour le faire plus explicite)
Voilà j'utilise un système de bbcode/smileys sur mon site et je dispose d'une fonction javascript qui lorsque je clique sur l'icone d'un smiley/bouton bbcode, ajoute dans le textarea du formulaire le code correspondant.

voici le code
function addSmiley(smile){
	document.form.champ.value = document.form.champ.value+" "+smile+" ";
	document.form.champ.focus();
}


Mais ce n'est pas fort pratique, je souhaiterai pouvoir changer le nom du formulaire et le nom du champ à ma guise, sans devoir retaper le code à chaque formulaire, ainsi si c'était possible je voudrais que ma fonction ressemble à ceci (mais je vous demande car je ne sais pas la modifier pour atteindre ce que je recherche Smiley confused )


function addSmiley(smile, form, champ){
	document.form.champ.value = document.form.champ.value+" "+smile+" ";
	document.form.champ.focus();
}
(le code n'est pas fonctionnel c'est pour tenter d'illustrer ce que je cherche à faire Smiley cligne )

Comment puis-je faire ?
Merci d'avance, en esperant avoir été assez clair Smiley ohwell

Modifié par nuts62 (11 Jan 2008 - 18:05)
On m'a donné une solution à mon problème. Je la met car elle pourrait toujours servir, qui sait Smiley smile

function addSmiley(smile, champ){

	champ.value = champ.value+" "+smile+" ";

	champ.focus();

}


Où champ sera un objet du type document.nomform.nomchamp Smiley smile
En fait je n'arrive pas à appliquer l'idée que l'on m'a fournie ... (décidément :\)
J'appel ma fonction ainsi :

addSmiley(":D", "document.postcomment.comment")


et voilà la fonction
function addSmiley(smile, champ){
	champ.value = champ.value+" "+smile+" ";
	champ.focus();
}


Cependant ça ne marche pas, firebug me dit
a écrit :
champ.focus is not a function
addSmiley(":D", "document.postcomment.comment")index.php (ligne 23)
onclick(click clientX=0, clientY=0)index.php (ligne 1)
[Break on this error] champ.focus();


Quelqu'un aurait il une idée de ce qui ne va pas ? Smiley confused