lecce5
Mitglied
Registriert: 03.06.2007
Beiträge: 3
|
|
hallo zusammen
Ich bin ziemlich neu in der JavaScript Welt und ich muss bald eine Semesterarbeit abgeben und komme überhaupt nicht weiter!!!
Hier mein Code:
<script type="text/javascript"> function myProgramm() { var chars = "gh"; var string_length = 15; var randomstring = ''; for (var i=0; i<string_length; i++) { var rnum = Math.floor(Math.random() * chars.length); randomstring += chars.substring(rnum,rnum+1); } document.eingabe.feld1.value = randomstring; } </script> </head>
<body bgcolor="#a7a7a7" <center> <form name="eingabe"> <input type="button" name="start" value="Start" onclick="myProgramm()" /> <input type="reset"><br /><br /> <input type="text" name="feld1" size="16" disabled="true" value=""/><br /><br /> <input type="text" name="feld2" size="16" onfocus/> </form> <img src="img/image001.jpg" align="middle"> </center>
</body> </html>
es wird ein Text generiert der 15 Zeichen lang ist und nur aus "g" und "h" besteht.
Der Benutzer soll den Text nun abtippten und es soll automatisch eine Fehler-korrektur statt finden. Jedoch habe ich keine Ahnung wie ich dies anstellen soll!!!
Eine idee mit "Arrays" hätte ich schon aber mir fällt es schwer diese umzusetzten. Kann mir jemand weiterhelfen????
gruss lecce5
|
|
| 03.06.2007 13:36:29 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Hi, wie soll die Fehlerkorrektur denn aussehen ? Soll bereits bei der Eingabe automatisch korrigiert werden, oder soll ne Meldung erscheinen ? Etwas genauere Angaben zur funktionsweise wäre nicht schlecht...
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 03.06.2007 14:16:29 |
|
lecce5
Mitglied
Registriert: 03.06.2007
Beiträge: 3
|
|
hi htmell!!
bin mir nicht sicher ob das überhaupt Funktioniert.
der Benutzer soll die 15 generierten buchstaben abtippen. die Übung sollte automatisch beenden und ein Pop-UP fenster soll erscheinen. Im Pop-Up sollte dan die Meldung kommen ob der Benutzer bestanden hat oder nicht.
Fals nicht sollte der Übungstext und auch der abgetippte Text erscheinen und diejenigen Buchstaben die Fehlerhaft sind in Rot markiert werden.
Ich habe versucht die 15 Buchstaben die ich generiere die in einen Array zu verschachteln, dammit ich für jeden Buchstabe eine Position erhalte.
Das gleiche wiederholen mit dem Eingabefeld wo der Benutzer reinschreib und danach die beide Arrays zusammen vergleichen und diese Pop-Up erstellen.
bin ziemlich schnell am anschlag gekommen und weiss echt nicht weiter!!!
oder hast du einen anderen vorschlag? einfacher vieleicht??
gruss lecce5
Beitrag geändert von lecce5 (04.06.2007 14:27:32)
|
|
| 04.06.2007 13:48:12 |
|
lecce5
Mitglied
Registriert: 03.06.2007
Beiträge: 3
|
|
hier mein Code
<script type="text/javascript"> function rndVorlage() { chars = "dk"; string_length = 15; document.eingabe.feld1.value = randomStr(chars, string_length); document.eingabe.feld2.focus(); }
function randomStr(chars, strLength) { rndStr = ""; for (var i=0; i<strLength; i++) { rnum = Math.floor(Math.random() * chars.length); rndStr += chars.substring(rnum,rnum+1); } return rndStr; }
ergebnis = ""; function vergleichen() { var eingabeZahl = 0; var vorlageZahl = 0; var eingabe = ""; var vorlage = ""; eingabe = document.eingabe.feld2.value; vorlage = document.eingabe.feld1.value; eingabeLetzterCharPos = eingabe.length; eingabeZahl = parseInt(extractTeil(eingabe, eingabeLetzterCharPos, 'charCode')); vorlageZahl = parseInt(extractTeil(vorlage, eingabeLetzterCharPos, 'charCode')); if (eingabeZahl == vorlageZahl) { ergebnis += extractTeil(eingabe, eingabeLetzterCharPos, "teilStr"); } else { ergebnis += "<font color='red'>"+extractTeil(eingabe, eingabeLetzterCharPos, 'teilStr')+"</font>"; } //hier müsste meiner Meinung nach der Code für die Darstellung erstellt werden }
function extractTeil(quelle, lastpos, action) { if (action == "teilStr") { return quelle.substr(lastpos - 1,lastpos); } else if (action == "charCode") { return quelle.charCodeAt(lastpos - 1); } } </script>
nun brauche ich nur noch eine Funktion das mir laufen der Eingegebene Text in der Tabelle reinschreibt...kann mir da jemand weiter helfen??
|
|
| 15.06.2007 19:42:45 |
|
dkdenz
Administrator
Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605
|
|
Mir fällt da spontan dieses Zitat aus einem anderen Forum ein:
| Du hast also das ganze Semester über gepennt und nun sollen wir Deine Hausaufgaben machen. Wundern tue ich mich allerdings darüber, dass man für so eine simple Aufgabe überhaupt einen Schein kriegt, ich hoffe das ist nicht für eine Uni oder FH... |
_______________________________________ Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol
|
|
| 15.06.2007 22:44:58 |
| http://dkmd.de | http://dkdenz.de |
Zitieren |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Na dann habe ich für heute die Hausaufgaben erledigt ;-)) @dkdenz: So oft, wie ich hier schon Hausaufgaben erledigt habe, müsste ich so viele Scheine haben das ich nie wieder Papier kaufen müsste ;-) Vieleicht studiere ich doch noch eines Tages - nur was hab ich davon? In der Zeit kann man besser Geld verdienen ;-) Den Spaß mach ich mir wenn ich in Rente bin...
Code:
<html><head>
<script type="text/javascript">
function rndVorlage() {
chars = "dk";
string_length = 15;
document.eingabe.feld1.value = randomStr(chars, string_length);
document.eingabe.feld2.focus();
}
function randomStr(chars, strLength) {
rndStr = "";
for (var i=0; i<strLength; i++) {
rnum = Math.floor(Math.random() * chars.length);
rndStr += chars.substring(rnum,rnum+1);
}
return rndStr;
}
ergebnis = "";
function vergleichen() {
vorlage = document.eingabe.feld1.value;
eingabe = document.eingabe.feld2.value;
ergebnis = "";
for(i=0; i<vorlage.length; i++) {
if(vorlage.charAt(i) == eingabe.charAt(i)) {
ergebnis+= vorlage.charAt(i)
}
else {
ergebnis+= "<font color='red'>" + vorlage.charAt(i) + "</font>";
}
document.getElementById("out").innerHTML = ergebnis;
}
}
</script>
<div id="out"> </div> |
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 16.06.2007 01:22:18 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|