• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Texteingabe als Variable

terracube

New member
Hallo Forum,
ich habe ein kleines Problem:
ich möchte ein script schreiben und habe noch nicht so viel erfahrung (15 J. | einsteiger)
Und wie der Titel schon sagt benötige ich dafür eine funktion die eine texteingabe als variable setzt.
Ich habe es schon mit der Funktion "prompt" bei den Variablen versucht doch da ich mehrere textfelder (für mehrere eingaben) benötige ist die lösung mit einem "fenster" pro eingabe etwas nervig.
Ich hoffe ihr versteht mein anliegen und könnt mir helfen.
Terracube
 
Du kannst im <html> ein <form> machen, dort deine Felder und Beschriftungen definieren und dann mit JS die Felder auslesen, wenn sie benötigt werden.
 
Also...
@mikdoe: Die Variable soll am schluss mit anderen Variablen als text/script/code ausgegeben werden. Sprich eine art Generator. Man gibt seine "codes" ein und bekommt diese in einem anderen Code wieder raus....

@kkapsner: kannst du mir vielleicht auch Beispiele schicken oder den "befehl" mit dem man die Textfelder ausliest

Schon mal Danke für die Antworten
 
Code:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<style type="text/css"></style>
</head>
<body>
<input id="test">
<button id="doIt">readout</button>
<script type="text/javascript">
document.getElementById("doIt").addEventListener("click", function(){
	alert(document.getElementById("test").value);
}, false);
</script>
</body>
</html>
 
Kann ich das auch mit document.write ausgeben? Ich bekomme dies nämlich nicht hin.
Ich habe alert(document.getElementById("test").value); durch document.write(test); ersetzt aber dies funktionierte ja nicht. mache ich was falsch oder geht das nicht?

PS: funktioniert es auch wenn ich mehrere felder mit einem button auslesen will und ausgeben will (in einem text)?
Terracube
 
document.write()? Nicht dein Ernst... wenn dann solltest du mit innerHTML arbeiten.

dies funktionierte ja nicht
Das funktioniert nicht, da du das Ganze mit document.getElementById() weggelassen hast... deswegen sollte dazu auch etwas in der Fehlerkonsole stehen.

Natürlich funktioniert das. Du kannst einfach die Strings, die du aus den <input>s bekommst zusammenfügen.

Zu document.write:
http://www.w3.org/html/wg/drafts/html/CR/webappapis.html#dynamic-markup-insertion schrieb:
This method has very idiosyncratic behavior. In some cases, this method can affect the state of the HTML parser while the parser is running, resulting in a DOM that does not correspond to the source of the document (e.g. if the string written is the string "<plaintext>" or "<!--"). In other cases, the call can clear the current page first, as if document.open( ) had been called. In yet more cases, the method is simply ignored, or throws an exception. To make matters worse, the exact behavior of this method can in some cases be dependent on network latency, which can lead to failures that are very hard to debug. For all these reasons, use of this method is strongly discouraged.
 
Okay... also geht das nicht so gut....

"Du kannst einfach die Strings, die du aus den <input>s bekommst zusammenfügen."
was meinst du damit kannst du vielleicht ein Bsp. zeigen?

und was schlägst du vor um den code auszugeben?

Sorry ich bin grad etwas überfragt und da ich mich mit java script nicht gut bis schlecht auskenne bin ich ein wenig verzweifelt.. ich hoffe du/ihr könnt mir helfen und es mir erklären.
LG terracube
 
Zuletzt bearbeitet:
kannst du vielleicht ein Bsp. zeigen?
Code:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<style type="text/css"></style>
</head>
<body>
<input id="vorname" placeholder="Vorname">
<input id="nachname" placeholder="Nachname">
<button id="doIt">do it</button>
<div id="output"></div>
<script type="text/javascript">
document.getElementById("doIt").addEventListener("click", function(){
	var output = document.getElementById("output");
	output.innerHTML = "";
	output.appendChild(document.createTextNode(
		document.getElementById("nachname").value +
		", " +
		document.getElementById("vorname").value
	));
}, false);
</script>
</body>
</html>
- sowas sind aber eigentlich Grundlagen, die du dringend lernen solltest...
 
Vielen Dank für die Antwort. Ja, ich weiß ich muss mir die grundlagen noch mal genauer anschauen...
Aber noch eine kurze frage habe ich:
ich möchte neben den variablen noch einen Text ausgeben lassen. Dies schaffe ich auch noch selber.
Wie schaffe ich dies aber wenn im text sonderzeichen wie ( [ { / " vorkommen?
Also dass das script weiß das dies zum text gehört und kein Befehl ist.
terracube
 
Außer \, " und Zeilenumbruch kannst du die Zeichen einfach reinschreiben. Für ein \ musst du \\ schreiben und für " \".
 
Vielen Dank. Jetzt habe ich mein Script fertig und alles Funktioniert!
PS: Und ich werde die Grundlagen lernen!
LG Terracube
 
Zurück
Oben