Ik durf de vraag eigenlijk bijna niet te stellen.. Maar ik zoek naar een goed werkende UBB inserter. Een die ook om geselecteerde tekst UBB codes plaatst, of op de plek waar de cursor staat. Ook als de cursor niet in de textarea staat moet hij hem aan het eind van alle tekst in de textarea invoegen..
Ik heb er wel 1 gevonden namelijk deze:
function UBB(target, sUBB, eUBB){
var objTxtArea = target;
if (!eUBB){
eUBB = ' '+sUBB+' '; // Smileys..
sUBB = '';
}
if (objTxtArea.selectionStart || objTxtArea.selectionStart == 0){
var ss = objTxtArea.selectionStart;
var se = objTxtArea.selectionEnd;
objTxtArea.value = objTxtArea.value.substring(0, ss) + sUBB + objTxtArea.value.substring(ss, se) + eUBB + objTxtArea.value.substring(se, objTxtArea.value.length);
if (sUBB.length != 0){
objTxtArea.selectionStart = ss;
objTxtArea.selectionEnd = se + sUBB.length + eUBB.length;
}else{
objTxtArea.selectionStart = se + sUBB.length + eUBB.length;
objTxtArea.selectionEnd = objTxtArea.selectionStart;
}
objTxtArea.focus();
}else if (objTxtArea.createTextRange){
objTxtArea.focus(); //Needs to get focus to prevent other objects to get ubb codes
document.selection.createRange().text = sUBB + document.selection.createRange().text + eUBB;
}else{
objTxtArea.value = objTxtArea.value + sUBB + eUBB;
}
}
Alleen kan ik geen manier vinden om de waarde "target" doormiddel van jquery mee te sturen..
Wat ik eigenlijk wil is dat dat als je op bijvoorbeel de UBB button "B" klikt dat hij dan de eerste textarea die te vinden is VOOR de geklikte UBB button meestuurt in de waarde "target".. Ik probeerde dit met:
$("#ubb_bold").click(function() {
var target = $(this).prev("textarea");
UBB(target, "[b]","[/b]");
});
Helaas werkt dit niet.. En ik kan me geen andere manier bedenken hoe ik dit op deze manier mee kan geven.
Google helpt me ook niet echt verder dus dan is mijn laatste keus het hier even vragen. Weet iemand een oplossing? Of kent een goede UBB insert javascriptje? Je zou me heel erg helpen!
Groetjes,
Mik