![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 13.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam skrypt, który po naciśnięciu przycisku wstawia do textarea bbcode (np.: ). Ale jest jeden problem. Mam na swojej witrynie centrowanie tekstu, które wygląda tak [align=center] [/align] i kiedy kliknę na ten przycisk nie pokazuje się tak [align=center] [/align] tylko tak [align=center] [/align=center]. Teraz jak zrobić, żeby nie podwajało tego =center?
JS Kod 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['news'].elements['newst']; 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 + "[/]" + objectValueFin; oField.selectionstart = strlen(objectValueDeb); oField.selectionend = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/]"); oField.focus(); oField.setSelectionRange( objectValueDeb.length + selec.length + 2, objectValueDeb.length + selec.length + 2); } else { // Si on est sur IE oField = document.forms['news'].elements['newst']; 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 + "[/]"; 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; //placer(document.forms['news'].elements['newst'], pos); var r = oField.createTextRange(); r.moveStart('character', pos); r.collapse(); r.select(); } } } Inputy Kod <form name="news"> <input type="button" value="b" style="width:50px;font-weight:bold" onclick="storeCaret('b')"> <input type="button" value="i" style="width:50px;font-style:italic" onclick="storeCaret('i')"> <input type="button" value="u" style="width:50px;text-decoration:underline" onclick="storeCaret('u')"> <input type="button" value="quote"style="width:50px" onclick="storeCaret('quote')"> <input type="button" value="code"style="width:50px" onclick="storeCaret('code')"> <input type="button" value="url"style="width:50px" onclick="storeCaret('url')"> <input type="button" value="img"style="width:50px" onclick="storeCaret('img')"><br> <textarea name="newst" rows="10" wrap="virtual" cols="45"></textarea> </form> przykładowy input z centrowaniem, który podwaja centrowanie Kod <input type="button" value="url"style="width:50px" onclick="storeCaret('align=center')">
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:42 |