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
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
jette un oeil sur fckeditor ?
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
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 : Sélectionner tout - Visualiser dans une fenêtre à part <a href="javascript:;" onclick="javascript:insertTag('document.ajout.message','gras',true);return true;">gras</a><br/>
cherche la fonctionici deux parmètres sont passés
Code : Sélectionner tout - Visualiser dans une fenêtre à part insertTag('document.ajout.message','gras',true)
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
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 ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
Le principe pour ton problème c'est :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 ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
Ok merci beaucoup je vais me pencher sur cette fonction
Le problème c'est qu'il y a beaucoup de src comment savoir lequel est le bon ?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
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
J'ai trouvé !!!
Maintenat je vais décortiquer tout ca ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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!
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager