 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
05.08.2004, 14:27
|
#1
|
|
TP-Veteran
Registriert seit: Jun 2004
Ort: Stuttgart
|
[JavaScript] Text an Cursorposition in Textarea einfügen?
Hallo,
ich weiß, das es mit IE geht z.B. einen smilie-code in eine textarea an der aktuellen cursor-position einzufügen.
Da es aber mit Opera Probleme gibt (zumindest bei dem code den ich verwendet habe), möchte ich gerne wissen ob jemand schon einmal eine crossbrowser-variante kennt oder vielleicht eine idee hat wie es gehen könnte?
Geändert von the-architect (07.08.2004 um 16:05 Uhr).
|
|
|
07.08.2004, 15:47
|
#2
|
|
TP-Veteran
Registriert seit: Jun 2004
Ort: Stuttgart
|
nur 10 leser? eigenartig. kennt sich damit niemand aus? 
|
|
|
09.02.2005, 23:45
|
#3
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Goch
|
Da dieser Thread genau das Problem beschreibt, was ich habe, möchte ich nochmals fragen ob jemand eine Lösung zu dem Problem hat.
@the-architekt
Weisst du noch wie du es "damals" gemacht hast?
Mfg
Dittboy
Geändert von Dittboy (10.02.2005 um 00:12 Uhr).
|
|
|
10.02.2005, 10:20
|
#4
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Ich würde mir vieleicht mal hier aus de mForum den entsprechenden JS-Code für den vBB-Code rausholen und nachschauen, wie das da gelöst wurde..
|
|
|
10.02.2005, 10:20
|
#5
|
|
TP-Veteran
Registriert seit: Mar 2002
Ort: Göppingen
|
SelfHTML ? Taugt das nicht?
|
|
|
10.02.2005, 15:39
|
#6
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Goch
|
@Adromir
Ich hab mir jetzt mal ein Stück angeschaut, und versuche es hinzubekommen. Ich weiss aber echt nicht ob's klappt, da ich JScript newbie bin.
@AnnaStesia
Da hab ich schon geguckt, ich hab auch schon gegoogelt aber nichts gefunden.
Mfg
Dittboy
|
|
|
10.02.2005, 16:04
|
#7
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Goch
|
Also ich blick hier nicht durch  .
Ich hab's zwar in den ansätzen verstanden, aber nicht genau.
Hier ist der code:
Code:
// #############################################################################
// function to insert a smilie part 1
function prepare_insert_smilie(e)
{
e = do_an_e(e);
insert_smilie(this, this.id.substr(9));
}
// #############################################################################
// function to insert a smilie part 2
function insert_smilie(elm, smilieid)
{
// only naughty one is "Control"
if (typeof(document.selection) != "undefined" && document.selection.type != "Text" && document.selection.type != "None")
{
document.selection.clear();
}
htmlwindow.focus();
try
{
if (is_ie)
{
smilieHTML = '<img src="' + elm.getElementsByTagName("img")[0].src + '" border="0" alt="" smilieid="' + smilieid + '" /> ';
htmlbox.selection.createRange().pasteHTML(smilieHTML);
}
else
{
htmlbox.execCommand('InsertImage', false, elm.getElementsByTagName("img")[0].src);
var smilies = htmlbox.getElementsByTagName("img");
for (var i = 0; i < smilies.length; i++)
{
if (smilies[i].src == elm.getElementsByTagName("img")[0].src)
{
if (smilies[i].getAttribute("smilieid") < 1)
{
smilies[i].setAttribute("smilieid", smilieid);
smilies[i].setAttribute("border", "0");
}
}
}
}
}
catch(e)
{
// failed... probably due to inserting a smilie over a smilie in mozilla
}
}
Ich versteh nur Bahnhof...
Mfg
Dittboy
|
|
|
10.02.2005, 17:31
|
#8
|
|
TP-Veteran
Registriert seit: Mar 2002
Ort: Göppingen
|
Und der Code ist jetzt von Dir oder wie?
vBulletin (also zb. das TP Forum) schafft es ja auch nicht, in Gecko Browsern oder in Opera den Code an Cursor Stelle zu setzen (soviel zu Adromirs Vorschlag), sondern setzt ihn halt einfach nach unten. Die SelfHTML Version schafft es zumindest in Gecko Browsern, nur Opera macht da schlapp, aber da mehr Leute mit Geckos unterwegs sind als mit Opera, halte ich die SelfHTML Variante für besser. Eine absolut cross-browser-taugliche Variante wirst Du eh nie hinkriegen, da finde ich es am praktikabelsten, die meistgebrauchten Browser zu bedienen und beim Rest den Code eben ans Ende einzufügen.
|
|
|
10.02.2005, 19:22
|
#9
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Goch
|
@AnnaStesia
Also wenn der code von mir wäre, würd ich da doch durchblicken, oder?
Und kannst du mir vielleicht verraten, wo ich das ungefähr bei SelfHtml finde?
Bei "Anwendungsbeispiele" hab ich nichts gefunden, und ansonsten könnte es sich ja sonstwo verstecken...
Und wenn ich bei der Suche "Cursor" eingebe gibt's so 5 Einträge, die aber alle nichts mit meinem problem zu tun haben.
Mit freundlichen Grüßen
Dittboy
Geändert von Dittboy (10.02.2005 um 19:59 Uhr).
|
|
|
10.02.2005, 19:31
|
#10
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
|
Zitat:
|
Zitat von Dittboy
Und kannst du mir >vielleicht< verraten, wo ich das >ungefähr< bei SelfHtml finde?
|
Wenn auf den Link von AnnaStesia (SelfHtml) klickst, bist auch schon dort!
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
|
|
|
10.02.2005, 19:52
|
#11
|
|
TP-Veteran
Registriert seit: Jun 2004
Ort: Stuttgart
|
hi
erstmal brauchst Du diese Funktion:
Code:
function insertAtCursor(myField, myValue) {
//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}
und dann kannst du es beispielsweise zum einfügen von SmileyCodes nutzen:
Code:
function addsmilie(what){
txt = document.getElementById("text");
insertAtCursor(txt, what)
}
addsmilies fügt das an "what" übergebene in die textarea mit der ID "text".
|
|
|
10.02.2005, 20:02
|
#12
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Goch
|
@321, AnnaStesia
Oh. Ich Depp  .
Das hätte ich eigentlich auch sehen müssen :'(.
Ich bekenne mich schuldig...
Danke!
@the-architect
Das werde ich gleich mal testen, danke!
Mit freundlichen Grüßen
Dittboy
Geändert von Dittboy (10.02.2005 um 20:08 Uhr).
|
|
|
10.02.2005, 20:29
|
#13
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
|
macht nix, denkst beim nächsten Bier an mich
und beim nächsten Prosecco an AnnaStesia!
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
|
|
|
10.02.2005, 20:47
|
#14
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Goch
|
Zitat:
|
Zitat von 321
macht nix, denkst beim nächsten Bier an mich
und beim nächsten Prosecco an AnnaStesia!
|
Mach ich ^^.
Mfg
Dittboy
|
|
|
11.02.2005, 10:54
|
#15
|
|
TP-Veteran
Registriert seit: Mar 2002
Ort: Göppingen
|
Zitat:
|
Zitat von Dittboy
Mach ich ^^.
|
das könnte eine neue rubrik werden, "TP-Gedenk-Saufen" oder so 
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:07 Uhr.
|
 |