BBCode einfügen
Hallo Jörg,
wenn ich BBCode einfüge, dann passiert das immer am Ende des Textes, nicht da, wo der Cursor steht. Das ist in vielen Foren so und immer nervt es mich. Hier springt die Anzeige noch dazu wieder nach ganz oben.
Geht das zu ändern?
Micha
wenn ich BBCode einfüge, dann passiert das immer am Ende des Textes, nicht da, wo der Cursor steht. Das ist in vielen Foren so und immer nervt es mich. Hier springt die Anzeige noch dazu wieder nach ganz oben.
Geht das zu ändern?
Micha
26.05.2005 21:23
Hallo Micha,
danke für das Feedback. Ich werd mal schauen, ob ich das ändern kann. Falls du oder jemand anders ein Forum kennt, in dem das Einfügen des BBCode beispielhaft korrekt umgesetzt wird, bitte mitteilen :)
Jörg
danke für das Feedback. Ich werd mal schauen, ob ich das ändern kann. Falls du oder jemand anders ein Forum kennt, in dem das Einfügen des BBCode beispielhaft korrekt umgesetzt wird, bitte mitteilen :)
Jörg
26.05.2005 22:13 | geändert: 26.05.2005 22:20
Also ich kenne keins, bewege mich allerdings auch lieber in Newsgroups als in Foren...
Micha
Micha
27.05.2005 09:50
Ich hatte da bislang auch nicht drauf geachtet, da ich die Tags immer manuell eingebe - ich werd mir diesbezüglich mal die verschiedenen Foren anschauen, die ich kenne
27.05.2005 10:54
Hi Jörg,
Da Du bisher sowieso JS verwendest (wie sollte es auch anders gehen) um BBCode einzufügen, kannst Du es so machen, damit der Code an der Cursorposition eingefügt wird:
Gruß,
Rudy
Da Du bisher sowieso JS verwendest (wie sollte es auch anders gehen) um BBCode einzufügen, kannst Du es so machen, damit der Code an der Cursorposition eingefügt wird:
...
<head>
<script language="JavaScript" type="text/javascript">
function cur_ins(field, text) {
if (document.selection) {
field.focus();
selected = document.selection.createRange();
selected.text = text;
} else {
if (field.selectionStart || field.selectionStart == '0') {
field.value = field.value.substring(0, field.selectionStart) + text + field.value.substring(field.selectionEnd, field.value.length);
} else {
field.value.concat(text);
}
}
} //cur_ins
</script>
</head>
<body>
<form action="neu/post.php" method="post">
<p><textarea id="text" name="text" cols="48" rows="10"></textarea></p>
<p style="float:right"> </p>
<p>
<input type="button" class="button klein" value="fett" onclick="cur_ins(this.form.text, '');" name="fett" />
...
</p>
</form>
...
Gruß,
Rudy
28.05.2005 10:27 | geändert: 28.05.2005 10:31
Wenn Du grad dabei bist... *g*
wie wäre es mit einem Button, um ein Posting, falls nicht beantwortet, zu löschen? Der 'Beitrag ändern'-Button sollte vielleicht ebenfalls ein Wölkchen werden, wenn das Posting bereits beantwortet wurde. Es macht IMHO wenig Sinn, die Änderung eines bereits beantworteten Beitrags zuzulassen. Bleibt aber Dir überlassen, nur ein Vorschlag.
wie wäre es mit einem Button, um ein Posting, falls nicht beantwortet, zu löschen? Der 'Beitrag ändern'-Button sollte vielleicht ebenfalls ein Wölkchen werden, wenn das Posting bereits beantwortet wurde. Es macht IMHO wenig Sinn, die Änderung eines bereits beantworteten Beitrags zuzulassen. Bleibt aber Dir überlassen, nur ein Vorschlag.
28.05.2005 10:37
Danke für den Code - ich werd das mal gleich testen und einbauen :)
ja, werd ich mal schauen - ich hatte mich anfangs der Einfachheit halber mit dem Editbutton beschieden, mit dem man den Inhalt ja auch rauslöschen kann :)
ich kann mir schon Fälle vorstellen, in denen man z.B. das Anfangspost eines längeren Threads nacheditiert, wenn der darin enthaltene Code (für das weitere Verständnis) unvollständig ist; damit aber ersichtlich ist, dass Postings nachträglich geändert wurden, wird jeweils unterhalb das Datum der letzten Änderung angegeben
wie wäre es mit einem Button, um ein Posting, falls nicht beantwortet, zu löschen?
ja, werd ich mal schauen - ich hatte mich anfangs der Einfachheit halber mit dem Editbutton beschieden, mit dem man den Inhalt ja auch rauslöschen kann :)
Es macht IMHO wenig Sinn, die Änderung eines bereits beantworteten Beitrags zuzulassen.
ich kann mir schon Fälle vorstellen, in denen man z.B. das Anfangspost eines längeren Threads nacheditiert, wenn der darin enthaltene Code (für das weitere Verständnis) unvollständig ist; damit aber ersichtlich ist, dass Postings nachträglich geändert wurden, wird jeweils unterhalb das Datum der letzten Änderung angegeben
28.05.2005 13:33
Es scheint jetzt zu funktionieren?
Test
TestNoch ein Test
Test
28.05.2005 14:12 | geändert: 28.05.2005 14:14
Hi Jörg,
da ich erst neulich wieder so eine Funktion brauchte ging ich von dieser aus und habe sie verbessert. Der markierte Text wird nun von den Tags umschlossen und nicht ersetzt, der Cursor nach den Endtag gesetzt bzw. für Tags wie url lässt sich ein Offset angeben, sodass der Cursor gleich danach an der gewünschten Position im Tag steht. Dachte mir, Du kannst das brauchen.
Javascript:
Html-Snippet:
Beim HTML-Snippet konnte ich natürlich den richtigen b-Tag nicht verwenden und habe ihn gespaced. Der Offset tritt dann in Kraft, wenn ein Text markiert wurde und ein bb-Tag eingefügt wird, welcher aus mehreren Teilen besteht (bei Dir nur url, ich brauchte das für einen color-tag).
Nachtrag: hab nochmal die neuere Version der Funktion draufgepackt, da ich für das CM noch ein bisschen dran rumgetipselt habe.
da ich erst neulich wieder so eine Funktion brauchte ging ich von dieser aus und habe sie verbessert. Der markierte Text wird nun von den Tags umschlossen und nicht ersetzt, der Cursor nach den Endtag gesetzt bzw. für Tags wie url lässt sich ein Offset angeben, sodass der Cursor gleich danach an der gewünschten Position im Tag steht. Dachte mir, Du kannst das brauchen.
Javascript:
function cur_ins(field, startTag, endTag, offset) {
field.focus();
if (document.getSelection) { //FF, NS
selStart = field.selectionStart;
selEnd = field.selectionEnd;
text = field.value.substring(selStart, selEnd);
field.value = field.value.substring(0, selStart) + startTag + text + endTag + field.value.substring(selEnd);
if (text.length > 0) {
if (offset != 0) {
field.selectionStart = selStart + startTag.length + text.length - offset;
} else {
field.selectionStart = selStart + startTag.length + text.length + endTag.length;
}
} else {
field.selectionStart = selStart + startTag.length;
}
field.selectionEnd = field.selectionStart;
} else
if (document.selection) { //IE
marker = document.selection.createRange();
text = marker.text;
marker.text = startTag+text+endTag;
marker = document.selection.createRange();
if (text.length > 0) {
if (offset != 0) {
marker.move('character', startTag.length + text.length - offset);
} else {
marker.move('character', startTag.length + text.length + endTag.length + offset);
}
} else {
marker.move('character', -(endTag.length));
}
marker.select();
}
}
Html-Snippet:
<input type="button" class="button klein" value="fett" onclick="cur_ins(this.form.text, '[ b]', '[/ b]', 0);" name="fett" />
<input type="button" class="button klein" value="Link" onclick="cur_ins(this.form.text, '[url=', '][/url]', -1);" name="link" />
Beim HTML-Snippet konnte ich natürlich den richtigen b-Tag nicht verwenden und habe ihn gespaced. Der Offset tritt dann in Kraft, wenn ein Text markiert wurde und ein bb-Tag eingefügt wird, welcher aus mehreren Teilen besteht (bei Dir nur url, ich brauchte das für einen color-tag).
Nachtrag: hab nochmal die neuere Version der Funktion draufgepackt, da ich für das CM noch ein bisschen dran rumgetipselt habe.
30.06.2005 00:47 | geändert: 02.07.2005 16:27
DAnke dir für das verbesserte Script - sobald ich dazu komme, werd ich es testen und hier einbauen :)
30.06.2005 14:42
| Thema | Autor | Forum | Beiträge | Letzter Beitrag |
|---|---|---|---|---|
| Textarea (maxlength + Anzeige der noch verfügbaren Zeichen) | Tilman | JavaScript | 8 | 03.08.2009 12:43 |
| Per Button html-Tags an textarea übergeben | rattlesnake | JavaScript | 7 | 18.05.2008 13:55 |
| Gästebuch und Javascript | Moni | JavaScript | 14 | 02.05.2007 10:59 |
| BBCode aus iFrame einfügen | tommik | JavaScript | 11 | 14.04.2006 12:10 |
| Danke | C)-(iLL@ | Jörgs Forum | 3 | 31.03.2006 20:25 |
| BBCode | tommik | PHP und MySQL | 11 | 27.03.2006 17:11 |
| Gästebuch (bbcode Problem) | mar123 | PHP und MySQL | 10 | 16.09.2005 12:11 |
| Formatieren und Links | Jörg | Jörgs Forum | 12 | 01.12.2004 18:37 |
