cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68142
Mitglieder online: 4
Gäste online: 6
mehr...

Anzeige
Forum » Forum: Website & Webprogrammierung » Thread: [gelöst] [JS] - Einfügen in Textarea -> WIE?

Thread: [gelöst] [JS] - Einfügen in Textarea -> WIE?


18.01.2008 14:04 Uhr

 

Status: offline
Servus, folgendes Problem:
Ich habe diesen Code hier:
HTML:
1
2
3
4
5
<form method="post" action="">
Text<br /><textarea name="textgb" cols="55" rows="10" id="textgb"></textarea><br />
<a href="javascript:input(' [:)] ');">Smiley</a><br /><br />
<input name="submit" type="submit" id="submit" value="Absenden!" /></p>
</form>
Wenn ich auf den Link klicke, soll der Code für den Smiley eingefügt werden. JS-Code dazu:
+ javascript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
function input(what)
 {
  if (document.formgb.textgb.createTextRange)
   {
    document.formgb.textgb.focus();
    document.selection.createRange().duplicate().text = what;
   }
  else if (document.getElementById && !document.all) // Mozilla
   {
    var tarea = document.forms['formgb'].elements['textgb'];
    var selEnd = tarea.selectionEnd;
    var txtLen = tarea.value.length;
    var txtbefore = tarea.value.substring(0,selEnd);
    var txtafter =  tarea.value.substring(selEnd, txtLen);
    tarea.value = txtbefore + what + txtafter;
   }
  else
   {
    document.entryform.text.value += what;
   }
 }
Geht aber nicht wegen dem fehlenden name-Element (dort, wo im JS überall was mit form steht).
Problem: Bei XHTML1.1 gibt es im form-Tag kein Element "name" mehr.
Wie muss der Code aussehen, damit mir trotzdem etwas in das Textfeld enigefügt wird?

Lg Headsick
7 mal bearbeitet
18.01.2008 14:26 Uhr

 

zombie3456
Programmierer
Status: offline
Ohne groß den JS-Code anzuschauen, von dem ich eh nicht alles verstehen würde:
javascript:
1
document.getElementById('textgb').innerHTML
Dieser Code dürfte dir helfen. Beim innerHTML bin ich mir nicht ganz sicher.

Kleiner Tipp

Mit [ code = javascript ] (ohne Leertasten) kannst du Javascript highlighten lassen. Analog dazu gibt es HTML mysql python und sicherlich auch noch andere, die mir gerade nicht einfallen ^^
2 mal bearbeitet
___________________________
DURATIVUM | Blog zur Sprache Latein
18.01.2008 14:27 Uhr

 

pFT
Status: offline
nein... Die Textarea spricht man auch mit
javascript:
1
document.getElementById('textgb').value = "blubb";
an  :wink: 
1 mal bearbeitet
___________________________
Fatal error: Call to undefined function Denken() in /srv/www/httpd/forum/thread.php on line 358
Dann kommt der böse Herr W3C in der Nacht und hackt dir den Kopf ab. //Der kommt von afaik pFT ^^
18.01.2008 14:46 Uhr

 

Status: offline
Hmm, und wo setze ich das nun ein bzw. was muss ich nun ersetzen? Bin ja schon stolz, überhaupt das Ding mit JS hinbekommen zu haben  :lol:  ...

Oder muss ich die komplette Funktion ändern?
18.01.2008 15:17 Uhr

 

zombie3456
Programmierer
Status: offline
Ich glaube, dass du folgende Stelle ersetzen musst:
javascript:
1
var tarea = document.forms['formgb'].elements['textgb'];
Und auch das hier musst du ersetzen:
javascript:
1
document.formgb.textgb.focus();
Statt value dann wahrscheinlich einfach focus() verwenden.
___________________________
DURATIVUM | Blog zur Sprache Latein
18.01.2008 15:22 Uhr

 

Status: offline
Ok, ich hab nun die Lösung (Danke, zombie3456).
Der Code muss so aussehen:
+ javascript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!--
function input(what)
 {
  if (document.getElementById('textgb').createTextRange)
   {
    document.getElementById('textgb').focus();
    document.selection.createRange().duplicate().text = what;
   }
  else if (document.getElementById && !document.all) // Mozilla
   {
    var tarea = document.getElementById('textgb');
    var selEnd = tarea.selectionEnd;
    var txtLen = tarea.value.length;
    var txtbefore = tarea.value.substring(0,selEnd);
    var txtafter =  tarea.value.substring(selEnd, txtLen);
    tarea.value = txtbefore + what + txtafter;
   }
  else
   {
    document.entryform.text.value += what;
   }
 }
//-->
Danke für die Hilfe.

Lg Headsick
Ähnliche Threads Forum Ähnlichkeitsgrad
 Formular Spiel (mit Javascript) Website & Webprogrammierung 2
 Text in INPUT einfügen lassen Website & Webprogrammierung 2
 BBCode per Klick in Textarea einfügen Website & Webprogrammierung 2
 JS: Zugriff auf Formularelemente Website & Webprogrammierung 2
 Formular ohne Input type submit, gehts mit Javascript? Website & Webprogrammierung 2
 [gelöst] Mit Javascript automatisch in den Vollbildmodus wechseln - 200 cyDots Website & Webprogrammierung 1
 [gelöst] Problem: Menü nach best. Zeit ausblenden Website & Webprogrammierung 1
nach obennach oben

Copyright © 2008 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung