Ich bin dabei eine Extension für den Firefox zu entwickeln, durch die man im phpBB über ein Kontextmenu in die Nachricht vorgefertigte Textbausteine eingefügt werden.
Das Kontextmenu läuft soweit, aber irgendwie funzt das Script zum einfügen des Textes nicht. Ich hab mir dazu ein Javascript aus dem
mozilla developer center genommen und etwas angepasst. Aber er fügt den Text nicht ein, da er irgendwie das Textfeld nicht erkennt.
Code:
function insertText(tb)
{
switch (tb) {
case "tb1":
var snippet = 'Textbaustein1';
break;
case "tb2":
var snippet = 'Textbaustein2';
break;
case "tb3":
var snippet = 'Textbaustein3';
break;
case "tb4":
var snippet = 'Textbaustein4';
break;
case "tb5":
var snippet = 'Textbaustein5';
break;
case "tb6":
var snippet = 'Textbaustein6';
break;
}
var selectionEnd = document.post.message.selectionStart + snippet.length;
var currentValue = document.post.message.value;
var beforeText = currentValue.substring(0, document.post.message.selectionStart);
var afterText = currentValue.substring(document.post.message.selectionEnd, currentValue.length);
document.post.message.value = beforeText + snippet + afterText;
document.post.message.focus();
//put the cursor after the inserted text
document.post.message.setSelectionRange(selectionEnd, selectionEnd);
}
Wenn ich nun einen Textbaustein im Kontextmenu auswähle (also die Funktion aufrufe insertText("tb1")) dann bekomme ich nur die Meldung "document.post.message has no properties". Wobei diese Methode das Textfeld anzusprechen direkt aus dem phpBB selbst stammt.
Ebenso getElementsByName("message"); (getElementById geht leider nicht, da das phpBB keine ID fürs Textfeld vergeben hat).
Gebe ich aber z.B.
Code:
javascript: document.post.message.value = "Hallo Welt"
ein, so funktioniert das.
Ich weiß echt nicht mehr weiter. Selbst der Originalschnipsel funzt nicht..