[javascript] une fonction appliqué à TOUS mes text-area

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par 2fou, 24 Avril 2006.

  1. 2fou
    2fou WRInaute discret
    Inscrit:
    8 Juillet 2003
    Messages:
    188
    J'aime reçus:
    0
    Salut,
    pour la partie admin d'un site, j'ai intégré des boutons gras, italique et lien permettant au client de mettre en forme le texte.
    Par exemple, gràce à un script (javascript) quand on clique sur le bouton "gras" après avoir selectionné du texte à l'interieur de la zone de texte (textarea) p1 du formulaire (intitulé "modif")...les balises <gras> et <gras> sont intégré avant et après le texte choisis dans le textarea. Puis on valide le formulaire, mon texte est intégré avec les balises <gras> dans la bdd et ce n'est qu-à l'affichage, ou je remplace (par un script php) les balises <gras> en <strong>.

    Mon problème concerne l'ajout des balises personalisées
    Pour cela, j'avais trouvé un script (javascript) : voir plus bas.
    Or celui-ci ne me permet de modifier seulement le text-area intitulé p1.
    Or je souhaiterai pouvoir traiter plusieurs text-area.
    Comment faire pour que cette fonction javascript s'applique à tous mes text-areas?

    Merci.


    le script :
    Code:
    var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
    var regexp = new RegExp("[\r]","gi");
    
    function storeCaret(selec)
    {
    	if (isMozilla) 
    	{
    	// Si on est sur Mozilla
    
    		oField = document.forms['modif'].elements['p1]'];
    
    		objectValue = oField.value;
    
    		deb = oField.selectionStart;
    		fin = oField.selectionEnd;
    
    		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
    		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
    		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );
    
    	//	alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
    			
    		oField.value = objectValueDeb + "<" + selec + ">" + objectSelected + "</" + selec + ">" + objectValueFin;
    		oField.selectionStart = strlen(objectValueDeb);
    		oField.selectionEnd = strlen(objectValueDeb + "<" + selec + ">" + objectSelected + "</" + selec + ">");
    		oField.focus();
    		oField.setSelectionRange(
    			objectValueDeb.length + selec.length + 2,
    			objectValueDeb.length + selec.length + 2);
    	}
    	else
    	{
    	// Si on est sur IE
    		
    		oField = document.forms['modif'].elements['p1'];
    		var str = document.selection.createRange().text;
    
    		if (str.length>0)
    		{
    		// Si on a selectionné du texte
    			var sel = document.selection.createRange();
    			sel.text = "<" + selec + ">" + str + "</" + selec + ">";
    			sel.collapse();
    			sel.select();
    		}
    		else
    		{
    			oField.focus(oField.caretPos);
    		//	alert(oField.caretPos+"\n"+oField.value.length+"\n")
    			oField.focus(oField.value.length);
    			oField.caretPos = document.selection.createRange().duplicate();
    			
    			var bidon = "%~%";
    			var orig = oField.value;
    			oField.caretPos.text = bidon;
    			var i = oField.value.search(bidon);
    			oField.value = orig.substr(0,i) + "<" + selec + "></" + selec + ">" + orig.substr(i, oField.value.length);
    			var r = 0;
    			for(n = 0; n < i; n++)
    			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
    			pos = i + 2 + selec.length - r;
    	
    			var r = oField.createTextRange();
    			r.moveStart('character', pos);
    			r.collapse();
    			r.select();
    
    		}
    	}
    }
    
    
     
  2. Szarah
    Szarah WRInaute accro
    Inscrit:
    22 Février 2006
    Messages:
    5 997
    J'aime reçus:
    1
    Il y a des solutions parfaitement cross-browser, tu sais ?
    Comme celle-ci
     
  3. Toutou-Fr
    Toutou-Fr WRInaute occasionnel
    Inscrit:
    22 Août 2005
    Messages:
    479
    J'aime reçus:
    0
    je ne suis pas spécialiste javascript mais une simple mise en variable du nom du champ devrait suffir :

    et remplacement des lignes :
    en :
     
  4. 2fou
    2fou WRInaute discret
    Inscrit:
    8 Juillet 2003
    Messages:
    188
    J'aime reçus:
    0
    ok mais comment je défini que ma fonction s'applique aux <textarea> ?


    Szarah, Merci pour le lien, ça a l'air sympa mais je ne pesne pas que ça aille pour ce projet là.
     
  5. Szarah
    Szarah WRInaute accro
    Inscrit:
    22 Février 2006
    Messages:
    5 997
    J'aime reçus:
    1
    >> 2fou

    Tu as raison, 2fou, ton souci est autre part et je n'avais pas bien lu ta question.
    Mais pour une autre fois, c'est un bon code.
     
Chargement...
Similar Threads - [javascript] fonction appliqué Forum Date
[JAVASCRIPT] edition de valeurs dans un tableau grâce à AJAX Développement d'un site Web ou d'une appli mobile 26 Septembre 2011
[RESOLU][Javascript] ordre de priorité des évènements Développement d'un site Web ou d'une appli mobile 9 Août 2011
[javascript] afficher quelques chose dans un champ input hidden Développement d'un site Web ou d'une appli mobile 13 Janvier 2009
[Résolu] [Javascript] valider un formulaire par un lien Développement d'un site Web ou d'une appli mobile 22 Octobre 2008
[Javascript] ALert à la fermeture d'une fenêre Développement d'un site Web ou d'une appli mobile 17 Septembre 2008
[Javascript] Google map compatibilité FF et IE :s Développement d'un site Web ou d'une appli mobile 29 Août 2008
[Javascript] savoir où l'utilisateur a cliqué Développement d'un site Web ou d'une appli mobile 14 Décembre 2006
[Javascript]Savoir si acrobat reader est installé Développement d'un site Web ou d'une appli mobile 13 Juillet 2006
[JavaScript] vérifier que le bouton de souris soit enfoncé Développement d'un site Web ou d'une appli mobile 6 Février 2006
[javascript] trouver le nom des formulaires d'une page Développement d'un site Web ou d'une appli mobile 11 Janvier 2006
[Javascript] Focus et formulaires Développement d'un site Web ou d'une appli mobile 16 Novembre 2005
[JavaScript] Affichage d'un formulaire => Bug Développement d'un site Web ou d'une appli mobile 27 Août 2005
PHP v8.2 fonction utf8_decode déprécié Développement d'un site Web ou d'une appli mobile 15 Novembre 2022
Planethoster - redirection http vers https non fonctionnelle URL Rewriting et .htaccess 21 Septembre 2022
Problème sur jquery avec fonction asynchrone Développement d'un site Web ou d'une appli mobile 6 Septembre 2022
WordPress Rediriger le visiteur en fonction de la langue du navigateur Référencement international (langues, pays) 12 Août 2022
Une aide pour une fonction récursive... Développement d'un site Web ou d'une appli mobile 18 Juillet 2022
Adresse mail ne fonctionne plus après modif de DNS Noms de domaine et référencement 26 Mai 2022
Méthode qui fonctionne le mieux en référencement SEO Débuter en référencement 19 Avril 2022
Onclick Select ne fonctionne pas dans Chrome Développement d'un site Web ou d'une appli mobile 21 Mars 2022