Fonction dans la même balise qui ne fonctionne plus
bonjour a tous
je suis en train de faire un editeur wiziwig que j'integrerais dans un webrowser dans un userform en vba
en attendant je le fait dans un fichier html
1 question :pourquoi le bouton couleur texte ne fonctionne pas
2 question : pourquoi quand je met les fonctions dans la meme balises "<script>" elles ne fonctionnent plus
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| <html>
<head>
<style>
#editeur{width:650px;
height:500px;
border:1px solid blue;
}
</style>
<script>
function Backgtexte() {
var selection = window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var balise = document.createElement("span");
balise.style.backgroundColor = "yellow";
balise.appendChild(selectedText);
selection.insertNode(balise);
}
</script>
<script>
function texteBiU(BiU) {
var selection = window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var balise = document.createElement(BiU);
balise.appendChild(selectedText);
balise.onclick = function (ev) {
this.parentNode.insertBefore(document.createTextNode(this.innerHTML), this);
this.parentNode.removeChild(this);
}
selection.insertNode(balise);
}
</script>
<script>
function texte-couleur(coul) {
var selection = window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var balise = document.createElement("span");
balise.style.Color = coul;
balise.appendChild(selectedText);
selection.insertNode(balise);
}
</script>
</head>
<body>
<div id="editeur" contenteditable="true" >
<p>tapez votre texte </p>
</div>
<button onclick="texteBiU('b')">Bold</button>
<button onclick="texteBiU('i')">italic</button>
<button onclick="texteBiU('u')">souligné</button>
<button onclick="texte-couleur('#FF0000')">texte en couleur </button>
<button onclick="Backgtexte()">bacground texte</button>
</body>
</html> |
une idée???
différer une action ou memoriser un element pour agir dessus avec un boutton
bonjour a tous
voila j'avance un peu dans mon richtext editor vraiment tres doucement
voila j'ai remis le remove au clic de chaque balises j'ai remplacer innerHTML par innerText en effet le resultat c'est que quand je supprimais la mise en forme au clic les balises devenaient de l'innertext pas tres chouette
maintenant j'ai 2 questions:
question 1 =est il possible de faire une fonction generale pour la selection de texte puis s'en servir dans les autres fonctions
question 2 = le clic sans selectionner declanche le remove format (remet le texte a l'endroit du clic a la normal ) y aurait il pas un moyen de :
memoriser le this et avec un bouton en cliquant dessus ferait ce que fait le clic sur le texte
pour l'instant voila le code
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
| <!doctype html>
<html lang="fr">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<!-meta charset="UTF-8"-!>
<style>
#editeur
{
width:650px;
height:500px;
border:1px solid blue;
}
</style>
<script type="text/vbscript">
sub codes()
msgbox document.getelementbyID("editeur").innerhtml
end sub
</script>
<script type="text/javascript">
function Backgtexte()
{
var selection = window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var balise = document.createElement("span");
balise.style.backgroundColor = "yellow";
balise.appendChild(selectedText);
balise.onclick = function (ev)
{
this.parentNode.insertBefore(document.createTextNode(this.innerText), this);
this.parentNode.removeChild(this);
}
selection.insertNode(balise);
}
function texteBiU(BiU)
{
var selection = window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var balise = document.createElement(BiU);
balise.appendChild(selectedText);
balise.onclick = function (ev)
{
this.parentNode.insertBefore(document.createTextNode(this.innerText), this);
this.parentNode.removeChild(this);
}
selection.insertNode(balise);
}
function texte_couleur(coul)
{
var selection = window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var balise = document.createElement("span");
balise.style.color = coul;
balise.appendChild(selectedText);
balise.onclick = function (ev)
{
this.parentNode.insertBefore(document.createTextNode(this.innerText), this);
this.parentNode.removeChild(this);
}
selection.insertNode(balise);
}
function texte_size(valeur)
{
var selection = window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var balise = document.createElement("span");
balise.style.fontSize = valeur+"px";
balise.appendChild(selectedText);
balise.onclick = function (ev)
{
this.parentNode.insertBefore(document.createTextNode(this.innerText), this);
this.parentNode.removeChild(this);
}
selection.insertNode(balise);
}
</script>
</head>
<body>
<div id="editeur" contenteditable="true" >
<p>tapez votre texte </p>
</div>
<button onclick="texteBiU('b')">Bolder</button>
<button onclick="texteBiU('i')">italic</button>
<button onclick="texteBiU('u')">souligné</button>
<button onclick="texteBiU('s')">texte barré </button>
<button onclick="texte_couleur('red')">texte en couleur </button>
<button onclick="Backgtexte()">bacground texte</button>
<select id="ListeElement" onchange="texte_size(this.value);">
<option value=8>size 8</option>
<option value=10>size 10</option>
<option value=12>size 12</option>
<option value=14>size 14</option>
<option value=16>size 16</option>
<option value=18>size 18</option>
<option value=20>size 20</option>
<option value=22>size 22</option>
<option value=24>size 24</option>
<option value=26>size 26</option>
<option value=28>size 28</option>
<option value=30>size 30</option>
<option value=34>size 34</option>
<option value=40>size 40</option>
<option value=50>size 50</option>
<option value=60>size 60</option>
<option value=70>size 70</option>
<option value=80>size 80</option>
</select>
<button onclick="codes()">codehtml</button>
</body>
</html> |
merci d'avance pour le retour
construire une palette couleur avec une table
bonjour a tous
je souhaiterais construire des l'ouverture de la page une palette couleur
Probleme 1 :je n'ai aucune idée du comment iterer les couleur(56)
probleme 2 la ligne write td genere un code bizzarre
du genre
Citation:
<td width="5" height="5" class="tdpal1" onclick="texte_couleur(" bgcolor="#5f0547" #5fg547")"=""></td>
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| function createpalette()
{
document.write("<div id=pal1>");
document.write('<table border="1">');
for (var j=1 ; j<=7 ; j=j+1) {
document.write('<tr>'); /* début de ligne */
for (var i=1 ; i<=8 ; i=i+1) {
document.write('<td class="tdpal1" bgcolor=\"#5fg547\" width=5 height=5 onclick="texte_couleur(\"#5fg547\")\" >');
document.write('');
document.write('</td>');
}
document.write('</tr>'); /* fin de ligne */
}
document.write('</table>');
document.write('</div>');
} |
j'ai essayer avec ou sans double cote etc... rien n'y fait
je n'ai rien contre le mode create et appendchild si vous avez des exemples mais je la veux en table
en effet la destination n'etant pas une page web mais un hta voir un webbrowser en vb certains fonction java ne sont pas compatibles
si vous avez des idées je suis preneur :D