BB Code in mehrere textfelder
haltich
- javascript
0 Felix Riesterer0 haltich0 haltich
Hi,
Ich habe folgendes problem:
ich habe eine Seite mit mehreren textareas in diese ich mittels klick auf einen button BB Codes einfügen möchte. Soweit so gut wenn ich eine textarea habe futzt das prima einen namen ich weis wo ichs eintragen muss. (Benutze übringens diesen code, bis jetzt unverändert: http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/)
Es ist ja ein leichtes dieser funktion so zu schreiben, dass man ihr die Textarea die sie ändern sonn übergibt.
Nun zum wirklichen Problem kann ich irgendwie feststellen welche textarea gerade bearbeitet wird in welcher sich der Cursor befindet?
mit vielen dank für hilfe,
haltich
Lieber haltich,
Du kannst jeder textarea ein onfocus-Event geben, welches dafür sorgt, dass Deine Funktion "weiß", in welcher textarea Du Dich gerade befindest.
Beispiel:
function init() {
var textareas = document.getElementsByTagName("textarea");
var i;
for (i = 0; i < textareas.length; i++) {
textareas[i].onfocus = function () {
// trägt eine Referenz auf aktive textarea in diese globale Variablen ein:
window.aktiveTextArea = this;
};
}
}
Nun müsstest Du nur die Einfügefunktion etwas abändern:
function insert(aTag, eTag) {
var input = window.aktiveTextArea;
if (!input) {
// War noch keine Textarea aktiviert worden? Erste textarea benutzen!
input = document.getElementsByTagName("textarea")[0];
}
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hi felix riesterer,
cool klappt da siet man mal was passiert, wenn man den falschen weg einschlagen will und nach der textarea mit couser suchen will. ;)
haltich
hi,
Blöde frage aber so müste es doch eigentlich für inputs gehen oder?
function init_input() {
var inputs = document.getElementsByTagName("input");
var i;
for (i = 0; i < inputs.length; i++) {
inputs[i].onfocus = function () {
window.aktiveTextArea = this; //Name stimmt nich mer so ganz
};
}
}
haltich
Lieber haltich,
var inputs = document.getElementsByTagName("input");
das kann probleme mit den verschiedenen Typen von <input /> geben. Was macht Dein Script bei <input type="password" />
oder gar bei <input type="checkbox" />
?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
hi,
Was macht Dein Script bei <input type="password" />
oder gar bei <input type="checkbox" />
?
das heißt ich könnte den allen ne class verpassen und über die aufrufen oder?
Das heist in html hab ich mein input:
<input type="text" class="fuerMeinScript" />
Und in Javascript:
var inputs = document.getElementsByClass("fuerMeinScript");
haltich
Lieber haltich,
Das heist in html hab ich mein input:
<input type="text" class="fuerMeinScript" />
Und in Javascript:
var inputs = document.getElementsByClass("fuerMeinScript");
naja, fast. Die Funktion getElementsByClass existiert so im Sprachstandard nicht. Diese müsstest Du Dir selbst schreiben. Dazu gibt es bereits einige Threads im Archiv.
Außerdem könntest Du ja prüfen, welchen Typs die gefundenen input-Elemente sind, um nur bestimmte zuzulassen.
var inputs = document.getElementsByTagName("input");
var i;
for (i = 0; i < inputs.length; i++) {
switch (inputs[i].type) {
case "text":
case "password":
// tue was mit diesen inputs
break;
}
}
Liebe Grüße aus Ellwangen,
Felix Riesterer.
hi,
cool klappt jez alles, ich denke, dass das erstmal alles war.
haltich