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

Frage bzgl. kleiner Aufgabe einer Klausur

hallohello

New member
Guten Morgen liebe Freunde,

ich hätte ein kleines Anliegen. Ich habe nämlich vor kurzem eine Klausur geschrieben und bin soweit mit Allem zufrieden. Habe jedoch in der Klausur eine kleine Aufgabe nicht geschafft, die ich auch jetzt nicht unbedingt richtig habe, schätze ich. Ich würde die dennoch gerne beantworten können.

Der Fragensteller will von mir wissen, wieso folgende Funktion "checkEingabe" nicht aufgerufen werden kann und an welcher Stelle im Code ich etwas verändern würde, damit dieser Fehler behoben wird.

HTML:
<!DOCTYPE html>
<html>
<head>

<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Javascript und DOM</title>
</head>

<body>
<input name="zahl" id="zahl" autofocus type="text" />
<ul id="liste"></ul>
</body>
</html>

Code:
var input = document.getElementById("zahl");
input.addEventListener("keyup",checkEingabe);
function checkEingabe(){
var eing = input.value;
if(!check(eing)){
	listLastChar(eing);
}
}
function listLastChar(a){
	var listItem = document.createElement("li");
	document.getElementById("liste").appendChild(listItem);
	var liText = document.createTextNode(a.charAt(a.length-1)+"ist kein gültiges Zeichen");
	listItem.appendChild(liText);
	input.value = input.value.substring(0,input.value.length-1);
}

function check(Eingabe){
	var nur_das ="0123456789[]()-+%/";
	for(var i = 0; i < Eingabe.length; i++)
	if(nur_das.indexOf(Eingabe.charAt(i))<0){
		return false;}
		else{
			return true;}
}


Ich wäre wirklich dankbar für eure Hilfe. Was das Lösen von Problemen betrifft, die "andere" verursachen, bin ich nicht besonders gut. :D
 
Ich kann beliebig viele Tasten drücken. Es passiert nichts. Auch nach Einbindung der js-Datei in die html Datei ändert sich nichts.
 
Ich hab bisher am Computer nicht viel bis gar nichts gemacht, außer um zu testen, ob's denn gehen würde und das auch nur mit Adobe Dw. Wie gesagt: Während der Klausur ist es mir leider auch nicht erlaubt meinen Computer rauszuholen und irgendetwas zu versuchen. Ich hab wirklich keine Idee, wo der "Fehler" liegt. Ich weiß und versteh, was das Programm tun soll. Das ist alles.
 
Aber du hast doch meine Fragen beantwortet. Dafür musst du das doch zusammengesetzt haben, um zu testen. Und das mal bitte hier posten. Oder wie hast du die Antworten auf meine Fragen gefunden?
 
Du musst die script datei unter dem "<input>" einfügen, oder die document.ready function benutzen.

auf der konsole müsste eigentlich ein fehler stehen von wegen "kein element mit der id 'input' vorhanden" oder so.

so müsste das meiner meinung nach aussehen:

Code:
<!DOCTYPE html>
<html>
<head>

<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Javascript und DOM</title>
</head>

<body>
<input name="zahl" id="zahl" autofocus type="text" />
<ul id="liste"></ul>
<script>
var input = document.getElementById("zahl");
input.addEventListener("keyup",checkEingabe);
function checkEingabe(){
var eing = input.value;
if(!check(eing)){
	listLastChar(eing);
}
}
function listLastChar(a){
	var listItem = document.createElement("li");
	document.getElementById("liste").appendChild(listItem);
	var liText = document.createTextNode(a.charAt(a.length-1)+"ist kein gültiges Zeichen");
	listItem.appendChild(liText);
	input.value = input.value.substring(0,input.value.length-1);
}

function check(Eingabe){
	var nur_das ="0123456789[]()-+%/";
	for(var i = 0; i < Eingabe.length; i++)
	if(nur_das.indexOf(Eingabe.charAt(i))<0){
		return false;}
		else{
			return true;}
}
</script>
</body>
</html>

LG Transformator
 
Achso, dann lag es nur an der Zusammensetzung von HTML und JS? Na gut.
Hättest ruhig nochmal fragen dürfen, hallohello. Reißt dir keiner den Kopf ab.
 
Zurück
Oben