Aber die Var ist ja von außerhalb definiert? und wird in der Funktion geändert und danach weiterverarbeitet..
hier nochmal mein Script
JavaScript
function insert(aTag, eTag) {
var input = document.forms['formular'].elements['inhalt'];
input.focus();
//funktioniert
//wenn Link, inputfeld ausgeben
if(aTag == "[link"){
var result = prompt("Adresse eingeben:");
checklink(aTag, result,"");
}
function checklink(aTag, result, error){
if(isNaN(error)){
var result = prompt(error);
}
//prüfen ob variable leer
if(isNaN(result)){
//prüfen ob link http:// enthält
var http = /http:\/\//;
if(http.exec(result)){
var aTag = "[link ext url='"+result+"']";
}
else{
var aTag = "[link url='"+result+"']";
}
//passt
var error = "";
}
else{
var error = "Nichts eingegeben!";
};
if (isNaN(error)) {
checklink(aTag, result, error);
}
}
/* IE */
if(typeof document.selection != 'undefined') {
/* Einfügen des Formatierungscodes */
var range = document.selection.createRange();
var insText = range.text;
range.text = aTag + insText + eTag;
/* Anpassen der Cursorposition */
range = document.selection.createRange();
if (insText.length == 0) {
range.move('character', -eTag.length);
}
else {
range.moveStart('character', aTag.length + insText.length + eTag.length);
}
range.select();
}
/* Gecko */
else if(typeof input.selectionStart != 'undefined'){
/* Einfügen des Formatierungscodes */
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
/* Cursorposition */
var pos;
if (insText.length == 0) {
pos = start + aTag.length;
}
else {
pos = start + aTag.length + insText.length + eTag.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* Rest Browser */
else{
/* Abfrage der Einfügeposition */
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos)) {
pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length) {
pos = input.value.length;
}
/* Einfügen des Formatierungscodes */
var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
}
};
Alles anzeigen
Ach zum Thema Klassen, ich habe keine Ahnung von JS, ich arbeite via
try, error, google -> learn
Du darfst mir gerne n Beispiel machen
Edit: Ich habs, man darf die Var nur nicht neu definieren:
var aTag -> var aTag