[JS/PHP] edit textarea (s)

Fermé
Mr.White Messages postés 251 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 juillet 2012 - 16 mai 2007 à 15:47
 Bigue Nique 빅닠 - 3 oct. 2007 à 07:41
Bonjour !!!
J'ai quelques soucis avec mes formulaires et notemment avec des textarea.

Tout d'abord, mon objectif :
Je développe un back office et je voudrai que mes textarea soit éditable par l'utilisateur.

Un petit exemple :(Je suis sur la modification des enregistrements)
Une table news(Titre, Photo, Text).
J'ai pour le moment 2 enregistrement, donc deux formulaires et donc, 2 textarea qui on le même nom (je pense que c'est ce qui pose le plus de problème).
Je précise que le code DOIT fonctionner lorsque j'aurai 10 enregistrement modifiable ;o)

J'utilise du javascript et des boutons pur permettre à l'utilisateur d'écrirer les balises. Voici le code.

JS :
function gras(name){
alert(name);
	name.value+="<STRONG>   </STRONG>";
}


PHP:
$aff.= '<input type="button" value="Gras" onclick="gras(\'Text_News\');">';


Mon onclick="gras(\'Text_News\');" sera par la suite plus dynamique, Text_News sera variable.
Mon alert m'affiche bien Text_News mais les balises ne s'ajoute pas au text.
J'ai déjà tester beaucoup de chose mais je ne comprend pas pourquoi mon name.value ne fonctionne pas.


Mais j'ai aussi d'autre problème. Pour ne pas tout embrouiller je les énnumer simplement :
-> Eviter un bouton pour passer à la ligne en remplassant les retour chariot par des
<br> suivit d'un retour chariot (pour que lors de l'édition on est pas affaire à un paver indigeste)
. Malheureusement, comme je garde les retours chariot, même sans modification des BR seront ajouter.

-> Upload de fichier : Il fonctionne mais quand j'arrive pour la première fois, j'upload et mon image n'apparait pas je rafraichit pour la fair apparaitre. Suite à cette manip' tout fonctionne bien. Bizzard, non?

Bon, ce sera tout pour l'instant ;o) J'éspère ne pas vous avoir trop décourager.

PS: Demander moi des éclaircissement, je n'attend que ca ;op
A voir également:

4 réponses

Mr.White Messages postés 251 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 juillet 2012 53
22 mai 2007 à 12:22
Heuu ...

Ce forum est mort ou personne comprend rien à ce que je raconte ???
0
Mr.White Messages postés 251 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 juillet 2012 53
1 juin 2007 à 12:21
Bon, ben ... visiblement il est mort :o{
0
lool mé en fét moi g le mm probléme lol t un commique c juste ki save pa repondre
0
Bigue Nique 빅닠
3 oct. 2007 à 07:41
Ton problème c'est que tu essaies d'adresser l'object textarea avec son nom (un chaine de caractère).
Essaie plutôt:
document.getElementByName(name).value+='...';

J'allais te répondre, et je réalise que ce forum fait exactement ce que tu cherchais à faire (depuis le temps, soit tu as déjà trouvé, soit tu as laissé tombé!)

En regardant le code source, j'ai trouvé ceci, un bel exemple duquel s'inspirer!
(Tiré de forum.js)

Dans ce cas, ils passent l'expression 'document.nomFormulaire.nomTextarea' dans txtName.
L'objet est récupéré par eval( txtName ).
Pas con.

function insertTag ( txtName, tag, enclose ) {
	var closeTag = ((enclose) ? "</" + tag + ">" : "");
	var Tag = "<" + tag + ">";
	var txtObj = eval ( txtName );
	if (ie==1)
	{
			var str = document.selection.createRange().text;
			txtObj.focus();
		var sel = document.selection.createRange();
			sel.text = Tag + str + closeTag;
			return;
	}
	else
	{
		// position du scroll
		oldPos = txtObj.scrollTop;
		oldHght = txtObj.scrollHeight;

		// position du curseur
		pos = txtObj.selectionEnd + Tag.length + closeTag.length;

		txtObj.value = txtObj.value.substr(0, txtObj.selectionStart) + Tag +
		txtObj.value.substr(txtObj.selectionStart,
		txtObj.selectionEnd-txtObj.selectionStart) +
		closeTag + txtObj.value.substr(txtObj.selectionEnd);

		// repositionnement cuseur aprés la balise fermante
		// peut être grandemant amélioré ;-)
		txtObj.selectionStart = pos;
		txtObj.selectionEnd = pos;

		// calcul et application de la nouvelle bonne postion du scroll
		newHght = txtObj.scrollHeight - oldHght;
		txtObj.scrollTop = oldPos + newHght;
	}
txtObj.focus();
}
0