Fonction insertTag
Résolu
vincent
-
vincent -
vincent -
A voir également:
- Fonction insertTag
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
5 réponses
Bonsoir,
t'es encore la dessus ?
Quoi qu'il en soit,
1 - Le code Javascript que tu nous montres n'est pas complet.... il n'y a pas la fonction InsertTag dedans...
2 - Encore une fois, je t'invite à commencer à regarder dans la console du navigateur pour voir ce qu'il s'y passe.... as tu des messages d'erreur ? (si oui.. lesquels ? )
t'es encore la dessus ?
Quoi qu'il en soit,
1 - Le code Javascript que tu nous montres n'est pas complet.... il n'y a pas la fonction InsertTag dedans...
2 - Encore une fois, je t'invite à commencer à regarder dans la console du navigateur pour voir ce qu'il s'y passe.... as tu des messages d'erreur ? (si oui.. lesquels ? )
oui, comme n a modifier le code
c'est toi qui m'a dit je t'invite a créer un topic , moi j'excute ;)
mon erreur console
c'est toi qui m'a dit je t'invite a créer un topic , moi j'excute ;)
mon erreur console
Failed to load resource: the server responded with a status of 404 (Not Found) nouveau.php:234 Uncaught ReferenceError: insertTag is not defined at HTMLLIElement.onclick (nouveau.php:234)
autemp pour moi,
mais quand je met
et je clique sur <button type="button" class="icon-button-gras" onclick="insertTag('', '', 'textarea')"></button>
ca met bien dans textarea mais par contre ca m'ouvre le cadre zone-previ ;)
il penses que je clique sur le boutton ;)
mais quand je met
function insertTag(startTag, endTag, textareaId, tagType) { var field = document.getElementById(textareaId); var scroll = field.scrollTop; field.focus(); if (window.ActiveXObject) { var textRange = document.selection.createRange(); var currentSelection = textRange.text; } else { var startSelection = field.value.substring(0, field.selectionStart); var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd); var endSelection = field.value.substring(field.selectionEnd); } if (tagType) { switch (tagType) { case "lien": endTag = "</lien>"; if (currentSelection) { if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) { var label = prompt("Quel est le libellé du lien ?") || ""; startTag = "<lien url=\"" + currentSelection + "\">"; currentSelection = label; } else { var URL = prompt("Quelle est l'url ?"); startTag = "<lien url=\"" + URL + "\">"; } } else { var URL = prompt("Quelle est l'url ?") || ""; var label = prompt("Quel est le libellé du lien ?") || ""; startTag = "<lien url=\"" + URL + "\">"; currentSelection = label; } break; case "citation": endTag = "</citation>"; if (currentSelection) { if (currentSelection.length > 30) { var auteur = prompt("Quel est l'auteur de la citation ?") || ""; startTag = "<citation nom=\"" + auteur + "\">"; } else { var citation = prompt("Quelle est la citation ?") || ""; startTag = "<citation nom=\"" + currentSelection + "\">"; currentSelection = citation; } } else { var auteur = prompt("Quel est l'auteur de la citation ?") || ""; var citation = prompt("Quelle est la citation ?") || ""; startTag = "<citation nom=\"" + auteur + "\">"; currentSelection = citation; } break; } } if (window.ActiveXObject) { textRange.text = startTag + currentSelection + endTag; textRange.moveStart('character', -endTag.length-currentSelection.length); textRange.moveEnd('character', -endTag.length); textRange.select(); } else { // Ce n'est pas IE field.value = startSelection + startTag + currentSelection + endTag + endSelection; field.focus(); field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length); } field.scrollTop = scroll; }
et je clique sur <button type="button" class="icon-button-gras" onclick="insertTag('', '', 'textarea')"></button>
ca met bien dans textarea mais par contre ca m'ouvre le cadre zone-previ ;)
il penses que je clique sur le boutton ;)
bonjour
le bouton gras
quand je cliques il mets bien dans la balise textarea
lorsque je clique sur le boutton gras il me fait ouvrir ce cadre caché
hors moi je veux juste qu'il m'ouvre après avoir cliquer sur ce
a mon avis c'est du à la fonction insertTag qui me fait ouvrir le cadre
voilà la bcode.js
et ma previsualisation
comment éviter que la boite dialogue zone-prev ouvre quand on clique sur boutton gras
et bien entendu on ouvre la boite dialogue zone div après avoir cliqué sur le boutton previsualisation ;)
peut être qu'il faut forcé le code pour évité d'ouvrir le cadre dans fonction insertTag
le bouton gras
<button type="button" class="icon-button-gras" onclick="insertTag('<gras>', '</gras>', 'textarea')"></button>
quand je cliques il mets bien dans la balise textarea
<textarea class="global-nouveau-textarea" data-autoresize spellcheck="false" placeholder="<gras>mot gras</gras></li></ul></nav>" onselect="preview(this.id, 'zone-previ',true);" id="textarea"></textarea>
lorsque je clique sur le boutton gras il me fait ouvrir ce cadre caché
<!--début du cadre qui sera caché--> <div id="global-nouveau-previsualiser"> <legend>prévisualiser</legend> <div class="nouveau-previsualiser" id="zone-previ"></div> </div> <!--fin du cadre qui sera caché-->
hors moi je veux juste qu'il m'ouvre après avoir cliquer sur ce
<button class="icon-button-previsualiser" id="button-previsualiser" type="button" onclick="previsualiser();">prévisualiser</button>
a mon avis c'est du à la fonction insertTag qui me fait ouvrir le cadre
voilà la bcode.js
function insertTag(startTag, endTag, textareaId, tagType) { var field = document.getElementById(textareaId); var scroll = field.scrollTop; field.focus(); if (window.ActiveXObject) { var textRange = document.selection.createRange(); var currentSelection = textRange.text; } else { var startSelection = field.value.substring(0, field.selectionStart); var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd); var endSelection = field.value.substring(field.selectionEnd); } if (tagType) { switch (tagType) { case "lien": endTag = "</lien>"; if (currentSelection) { if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) { var label = prompt("Quel est le libellé du lien ?") || ""; startTag = "<lien url=\"" + currentSelection + "\">"; currentSelection = label; } else { var URL = prompt("Quelle est l'url ?"); startTag = "<lien url=\"" + URL + "\">"; } } else { var URL = prompt("Quelle est l'url ?") || ""; var label = prompt("Quel est le libellé du lien ?") || ""; startTag = "<lien url=\"" + URL + "\">"; currentSelection = label; } break; case "citation": endTag = "</citation>"; if (currentSelection) { if (currentSelection.length > 30) { var auteur = prompt("Quel est l'auteur de la citation ?") || ""; startTag = "<citation nom=\"" + auteur + "\">"; } else { var citation = prompt("Quelle est la citation ?") || ""; startTag = "<citation nom=\"" + currentSelection + "\">"; currentSelection = citation; } } else { var auteur = prompt("Quel est l'auteur de la citation ?") || ""; var citation = prompt("Quelle est la citation ?") || ""; startTag = "<citation nom=\"" + auteur + "\">"; currentSelection = citation; } break; } } if (window.ActiveXObject) { textRange.text = startTag + currentSelection + endTag; textRange.moveStart('character', -endTag.length-currentSelection.length); textRange.moveEnd('character', -endTag.length); textRange.select(); } else { // Ce n'est pas IE field.value = startSelection + startTag + currentSelection + endTag + endSelection; field.focus(); field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length); } field.scrollTop = scroll; } function preview(textareaId, previewDiv, force) { // console.log(textareaId, previewDiv, force); var f = typeof(force)!='undefined' && force != null ? force : false; var chkprevisualisation = $('#previsualisation'); var field = $("#"+textareaId).val(); var scrollDiv = $("#"+previewDiv); if(typeof(scrollDiv)=='undefined' || scrollDiv==null){ alert ('Erreur ! scrollDiv:' + previewDiv + ' inconnu !'); } var scroll = scrollDiv.scrollTop; var previIschecked = typeof(chkprevisualisation)!='undefined' && chkprevisualisation!=null ? chkprevisualisation.checked : false; if ( field && (previIschecked || f)) { var smiliesName = new Array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°'); var smiliesUrl = new Array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png'); var smiliesPath = "http://www.monsite.com/images/smilies/"; field = field.replace(/&/g, '&'); field = field.replace(/</g, '<').replace(/>/g, '>'); field = field.replace(/\n/g, ' ').replace(/\t/g, ' '); // début de la page des bouttons // début du mots en gas field = field.replace(/<gras>([\s\S]*?)<\/gras>/g, '<p class="gras">$1</p>'); // fin du mots en gas // début du mots en souligner field = field.replace(/<souligner>([\s\S]*?)<\/souligner>/g, '<p class="souligner">$1</p>'); // fin du mots en souligner // début du mots en italique field = field.replace(/<italique>([\s\S]*?)<\/italique>/g, '<p class="italique">$1</p>'); // fin du mots en italique for (var i=0, c=smiliesName.length; i<c; i++) { field = field.replace(new RegExp(" " + smiliesName[i] + " ", "g"), " <img src=\"" + smiliesPath + smiliesUrl[i] + "\" alt=\"" + smiliesUrl[i] + "\" /> "); } console.log("Nouvelle valeur field",field , 'previewDiv',previewDiv); $("#global-nouveau-previsualiser, #global-modifier-previsualiser, #global-repondre-previsualiser, #global-annonce-previsualiser, #global-biographie-previsualiser, #global-signature-previsualiser").show(); $("#"+previewDiv).html(field); }else{ console.log('Erreur'); console.log("Valeurs dans le if : ",field ,previIschecked , f) } scrollDiv.scrollTop = scroll; }
et ma previsualisation
// previsualisation function previsualiser(){ var contenuTextArea = $("#nouv-msg").val(); console.log(contenuTextArea); // pour voir dans la console du navigateur //$("#previewDiv").html(contenuTextArea); preview("textarea", 'zone-previ',true); } // afficher et masquer $(document).ready(function(){ // $(document).on('click', function(){ // if($(this)[0].activeElement.id == "button-previsualiser"){ // $("#global-nouveau-previsualiser").css("display", "block"); // } // else{ // $("#global-nouveau-previsualiser").css("display", "none"); // } // }); //on masque par defaut $("#global-nouveau-previsualiser, #global-modifier-previsualiser, #global-repondre-previsualiser, #global-annonce-previsualiser, #global-biographie-previsualiser, #global-signature-previsualiser").css("display", "none"); });
comment éviter que la boite dialogue zone-prev ouvre quand on clique sur boutton gras
et bien entendu on ouvre la boite dialogue zone div après avoir cliqué sur le boutton previsualisation ;)
peut être qu'il faut forcé le code pour évité d'ouvrir le cadre dans fonction insertTag
Cela vient du "onselect" que tu as mis sur ton textarea
Et comme ton script insertTag ... fait un select justement ...
Normal....
Dis voir .... tu comprends les lignes de code que tu utilises ou tu copie/colle bêtement des trucs trouvés au hasard sur le net ??
onselect="preview(this.id, 'zone-previ',true);"
Et comme ton script insertTag ... fait un select justement ...
textRange.select();
Normal....
Dis voir .... tu comprends les lignes de code que tu utilises ou tu copie/colle bêtement des trucs trouvés au hasard sur le net ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question