Bonjour,
Comme sur ce formulaire, Je voudrais faire un bouton ( ex: italique ) qui insere des balises dans mon formulaire.
J'ai lu le code source de la page mais je ne vois aucun href sur les images G et I
Merci :bug:
Version imprimable
Bonjour,
Comme sur ce formulaire, Je voudrais faire un bouton ( ex: italique ) qui insere des balises dans mon formulaire.
J'ai lu le code source de la page mais je ne vois aucun href sur les images G et I
Merci :bug:
jette un oeil sur fckeditor ?
Je sais que je vais pas réinventer la roue mais je voudrais faire ca moi même...
Après si c'est vraiment trop compliqué j'utiliserais fckeditor mais bon....
J'ai trouvé ca comme code mais je le comprend pas :
Code:<a href="javascript:;" onclick="javascript:insertTag('document.ajout.message','gras',true);return true;">gras</a><br/>
cherche la fonctionici deux parmètres sont passésCode:insertTag('document.ajout.message','gras',true)
Le truc c'est que n'arrive pas a trouver d'info sur inserttag, je ne sais pas comment l'utiliser, comment lui spécifier le nom de mon champ texte...
Si tu as des infos ou un site dictionnaire javascript qui renseigne sur cette fonction, je suis tout ouï
y'a pas d'info c'est une fonction dasn un fichier js quelquepart, pas une instruction js ...
D'accord je comprend mieux....
Merci
Le principe pour ton problème c'est :Citation:
Envoyé par flow-bolox
1 - Récupérer la sélection faite avec la souris (je crois me rappeler que y'a de grosse differences entre les navigateurs pour cela...)
2 - Remplacer cette sélection, par cette sélection entouré des balises adéquates. Exemple : tu as séléectionné "bonjour tout le monde", et tu cliques sur italique, ça doit donné "<em>bonjour tout le monde</em>". Va voir la fonction replace en javascript pour cela (c'est un truce du genre : replace(machaine,"<em>"+machaine+"</em>"); )
Je pense qu'avec ça, y'a moyen de se débrouillé.
trouver les balsies javascript dasn le code de la page et suivre le src ...
Ok merci beaucoup je vais me pencher sur cette fonction :king:
Le problème c'est qu'il y a beaucoup de src comment savoir lequel est le bon ?Citation:
trouver les balsies javascript dasn le code de la page et suivre le src ...
ouvris chaque et faire ctrl+F "insertTag" pour trouver l'occurence du texte dans la fonction
J'ai trouvé !!!
Maintenat je vais décortiquer tout ca ^^
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 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; }
En regardant ton code flow-bolox, je savais bien qu'il y avait des diffenrece majeur au niveau de la sélection entre navigateur.
Bon courage pour ton codage!
Merci a vous
@ bientot
J'ai un petit problème, la console d'erreur mozilla m'indique que la fonction insertTag n'est pas définie alors qu'elle l'est dans le fichier form.js :
ais je fais une erreur d'écriture ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <script type="javascript" src"form.js"></script> <FORM Method="POST" Action="testmaj.php3 "style="text-align:center;"> <b>Titre:</b> <br> <INPUT type="text" size="50" name="titre"/><BR><br> <b>Sous-titre : </b><br> <INPUT type="text" size="50" name="soustitre"><BR><br> <b>Contenu : </b> <a href="javascript:;" onclick="javascript:insertTag('contenu','gras',true);">gras</a><br> <TEXTAREA NAME="contenu" COLS="100" ROWS="10"></TEXTAREA><BR><br> <INPUT name="Envoyer" type="submit" value="Envoyer"> </FORM>
il manque le "=" après le src, tu devrais avoir src="form.js"
autant pour moi j'ai modifié mais ca ne change rien :
voici le .js :
je travaille en local , mozilla est-il capable d'executer des fichier javascript en local ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 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(); }