textarea mit Javascript auslesen - wie?
Linuchs
- javascript
- medien
Moin,
ich fülle ein textarea mit Text, klicke auf einen Button und möchte diesen Text mit Javascript auslesen.
<textarea id="pl_csv"></textarea>
<button onclick="pl_play()">Play</button>
Funktioniert NICHT:
function pl_play() {
console.log( "pl_csv=[" +document.querySelector("#pl_csv").innerHTML +"]" );
}
Anzeige: pl_csv=[]
Dies funktioniert AUCH NICHT:
function pl_play() {
console.log( "pl_csv=[" +document.querySelector("#pl_csv").value +"]" );
}
Anzeige: pl_csv=[]
Und jetzt wird's ganz verrückt:
function pl_play() {
let arr_songs = document.querySelector("#pl_csv").innerHTML.split( "\n" );
console.log( "arr_songs[0]=[" +arr_songs[0] +"]" );
console.log( "arr_songs[1]=[" +arr_songs[0] +"]" );
}
Anzeige: pl_csv=[Zeile 1 Zeile 2 Zeile 3]
Nach dem split wird Inhalt erkannt.
Woran liegt's?
Gruß, Linuchs
P.S. Ich probiere, eine Playlist zu erstellen HTML/Tutorials/Multimedia/Playlists
Moin,
ich fülle ein textarea mit Text, klicke auf einen Button und möchte diesen Text mit Javascript auslesen.
ganz kurz, da ich unterwegs bin:
<textarea id="pl_csv"></textarea>
<button onclick="pl_play()">Play</button>
keine on-Attribute mehr!!!!
let textareaContent = document.getElementById("pl_csv").value;
console.log(textareaContent);
Gruß, Linuchs
LG Mattthias
P.S. Ich probiere, eine Playlist zu erstellen HTML/Tutorials/Multimedia/Playlists
Perfekt! Das muss lange mal fertiggestellt werden!
Herzliche Grüße
Matthias Scharwies
Hallo Matthias,
danke für den „Anschub“.
In meinem „klingenden Veranstaltungskalender“ habe ich Playlisten. Die Titel werden per PHP mit entsprechenden Filtern aus der Datenbank geholt. Sind wegen Copyright-Problemen nicht öffentlich.
Nun muss ich die Spezialitäten ausmisten und eine schlanke Lösung anbieten.
Hier die Werkstatt, wer mag, kann reinschauen:
http://remso.de/studien/playlist/
Gruß, Linuchs
Hallo Linuchs,
document.querySelector("#pl_csv").value
muss funktionieren und funktioniert bei mir auch. Eine textarea enthält weder Kindelemente noch Textknoten, deswegen sind innerHTML, innerText oder textContent leer.
Bist Du sicher, dass sich bei Dir nicht Script-Änderung und Test zeitlich überschnitten haben, so dass Dein dritter Test in Wahrheit .value verwendet hat?
Rolf
Lieber Rolf,
Eine textarea enthält weder Kindelemente noch Textknoten,
ist das wirklich so?
<textarea name="kommentar">vorbelegter Inhalt...</textarea>
Will man den Inhalt einer Textarea vorbelegen, steht dieser in der Tat als Textknoten im Dokument. Greift man mit JavaScript auf diesen zu, erhält man das, was als Vorbelegung eingetragen wurde.
Liebe Grüße
Felix Riesterer
@@Felix Riesterer
Eine textarea enthält weder Kindelemente noch Textknoten,
ist das wirklich so?
Zur Hälfte. 😜
Das Inhaltsmodell ist Text. textarea
kann also einen Textknoten enthalten, aber keine Kindelemente. Im Text vorkommende <
und >
werden als Zeichen behandelt (escapet).
Will man den Inhalt einer Textarea vorbelegen, steht dieser in der Tat als Textknoten im Dokument. Greift man mit JavaScript auf diesen zu, erhält man das, was als Vorbelegung eingetragen wurde.
Und zwar sowohl mit innerHTML
als auch mit textContent
als auch mit value
.
Ändert man innerHTML
oder textContent
mit JavaScript; ändert sich der Wert in der Anzeige und in innerHTML
, textContent
und value
.
Ändert man value
mit JavaScript; ändert sich der Wert in der Anzeige und in value
. innerHTML
und textContent
behalten ihren ursprünglichen Wert
Kwakoni Yiquan
@@Gunnar Bittersmann
Ändert man …
Hintergrund der Änderung: Bei TOS[1] und The Animated Series hieß es im Vorspann noch „… where no man has gone before“. Wie 60er/70er!
Bei The Next Generation (80er/90er) wurde das geändert zu „… where no-one has gone before“. Und so ist es auch bei Strange New Worlds. Geschlechtergerechte Sprache war damals schon ein Ding.
Bruce Springsteen hat den Text von Elvis’ „Follow That Dream“ auch angepasst und singt statt „Every man has the right to live, the right to a chance to give what he has to give (1981, Melodie auch noch wie bei Elvis) schon seit TNG-Zeiten „Every one has the right to live, the right to a chance to give what they have to give“ (1986, auch die Melodie ist anders).
Kwakoni Yiquan
das steht für „Those Old Scientists“ („Tierisch olle Sternreisende“) 😆 ↩︎
@@Gunnar Bittersmann
Bruce Springsteen hat den Text von Elvis’ „Follow That Dream“ auch angepasst und singt statt „Every man has the right to live, the right to a chance to give what he has to give (1981, Melodie auch noch wie bei Elvis) schon seit TNG-Zeiten „Every one has the right to live, the right to a chance to give what they have to give“ (1986, auch die Melodie ist anders).
Und dann hab ich auch noch was dazwischen von 1983 gefunden: schon die geänderte Melodie, aber noch mit „man“/„he“.
Kwakoni Yiquan
Liebe(r) Gunnar,
@@Gunnar Bittersmann
Ändert man …
ist das noch durch das Themenfeld dieses Forums abgedeckt? Und was willst Du uns mit Deinem Selbstgespräch wirklich sagen?
Liebe Grüße
Felix Riesterer