Ergebnis 1 bis 6 von 6
-
23-11-2009, 21:59 #1
Jungspund
- registriert
- 23-11-2009
- Beiträge
- 18
Enter und Setfocus für Anfänger
Hallo erstmal,
ich bin, wie gesagt, Anfänger in Javascript und versuche mich gerade selbst zu trainieren, indem ich mir Foren anschaue und schon gesagtes auf mein Projekt ableite. Zwar kommt diese Fragestellung sehr häufig vor, aber irgendwie konnte ich das nicht für mich nutzen.
Mein Problem ist konkret:
1. ich möchte eine Abfrage programmieren und in einer inputbox nach dem eingeben mit "enter" eine Abfragefunktion starten. Aus anderen Programmiersprachen kenne ich das schon etwas, mit der Methode onkeypress.
<form name="ausgabe">
<input type="text" name="ausgabe1" id="ausgabe1" onkeypress="key(m)">
function key(m)
{
if (window.event.keyCode == 13)
{
korrektur(m);
}
}
das m ist nur für den weiteren Funktionsverlauf wichtig, und muss jetzt mal nicht interessieren. Aber: beim drücken von Enter werden bei mir sämtliche Dinge auf Anfang gesetzt. Also z.B. Zählvariablen auf 0, Objekte bekommen wieder ihre Anfangsaufschrift und die Inputbox leert sich.
2. ich möchte nach der Funktionsabfrage auch noch hinbringen, dass ich nach der Abfrage sofort wieder auf dem Eingabe-Textfeld lande, also den Focus setze. Ich dachte mir:
window.document.ausgabe.ausgabe1.setfocus;
bzw.
window.document.ausgabe.ausgabe1.setfocus();
aber das geht garnicht. Dieses Problem scheint bei Anfängern auch häufiger Aufzutauchen, aber die anderen Foren haben mir da nicht weiter geholfen, ich hoffe, ihr wisst das vielleicht etwas.
3. Achja, und wenn ich gerade dabei bin, zu fragen: gibt es nicht eine Möglichkeit, die Textbox zu leeren, also eine alte Antwort zu entfernen? Denn:
window.document.ausgabe.ausgabe1.clear
funktioniert nicht. dabei musste ich mich der Zeile
window.document.ausgabe.ausgabe1.value="";
bedienen. Aber: man will ja dazu lernen.
So, das war es schon. Wundert euch bitte nicht über die Bezeichnungen, das mit dem Focus auf der ausgabe1 ist schon korrekt, da ich das Skript zuerst anders ansetzen wollte.
Noch zu Info: Ich verwende Opera 9.25 und Firefox 3.0.8
Sry, falls das für euch zu viel Geschwalle ist, aber ich will volle Infos bieten, damit man nicht noch einmal nachfragen muss.
Ich wäre euch dankbar für Hilfestellungen und Vorschläge (am Besten noch mit Erklärungen, damit ich weiß, was das Programm macht).
Danke
-
23-11-2009, 22:19 #2
AW: Enter und Setfocus für Anfänger
1. Get people to play Space Taxi
2. Sell real estates on neptun
3. Profit!
IE is not a browser, it is a scream.
Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.
-
23-11-2009, 22:45 #3
Jungspund
- registriert
- 23-11-2009
- Beiträge
- 18
AW: Enter und Setfocus für Anfänger
Hi Albu,
danke für diesen konstruktiven Beitrag. Also: zum einen Steht in der Überschrift "für Anfänger", daher könnte sich ableiten lassen, dass ich dieser Anfänger bin. So war zumindest mal mein Gedankengang.
Den Text habe ich nicht kopiert. Das scheint ebenfalls falsch rübergekommen zu sein. Demnach noch einmal: habe mich in versch. Foren nach andererleuts Problemen umgeschaut, die meinen gleichen. Und bei vielen Sachen bin ich ja auch fündig geworden, die muss ich hier nicht mehr fragen (array...). Dabei ist zu allererst Selfhtml, danach z.b.
http://www.tek-tips.com/viewthread.cfm?qid=1523454
http://www.velocityreviews.com/forum...html-form.html
http://www.strassenprogrammierer.de/..._tipp_467.html
http://discussion.forum.nokia.com/fo...d.php?t=127724
http://www.coderanch.com/t/120528/HT...clear-text-box
http://www.urban75.org/tech/q024.html
...
z.b. letzteres bietet eine Möglichkeit zum leeren einer Textbox, aber da verstehe ich nicht, was sich da tut. Deswegen erhoffe ich mir ja auch, dass es jemand erklären kann.
Ich hoffe, du bist mit meiner Antwort zufrieden und kannst mir weiterhelfen.
Danke im Voraus
Schönen Abend
-
24-11-2009, 01:42 #4
AW: Enter und Setfocus für Anfänger
Zu 1.: Wenn du in einem Formularelement Enter drückst (außer textareas) wird das Formular abgesendet - d.h. bei dir wird die Seite neu geladen. Das kannst du unterbinden, indem du einfach kein Formular verwendest (du willst es ja sowieso nicht abschicken - also ist es überflüssig). Deine Elemente kannst du auch ansprechen, indem du ihnen eine (eindeutige) ID gibst und mit document.getElementById arbeitest.
Die Unterdrückung der Versendung wäre auch mit einem return false; machbar - das solltest du aber nur verwenden, wenn du das Formular wirklich brauchst und auch verstehst, was du damit machst (Stichwort: Event-handling, default action).
Zu 2.: Wo hast du denn diese Funktion her? Woraus lernst du? Diese Funktion existiert nicht! es heißt einfach nur "focus()" - ohne set.
Zu 3.: Auch diese Funktion existiert nicht. Wer erzählt dir so einen Mist? Die von dir verwendete Methode ist die einzige. Und was ist an ihr so unschön?
-
24-11-2009, 08:03 #5
Jungspund
- registriert
- 23-11-2009
- Beiträge
- 18
AW: Enter und Setfocus für Anfänger
Hi kkapsner,
danke für deine Antwort.
Darf ich kurz dazu fragen, was das absenden bedeutet? die Daten werden also irgendwie "bereitgemacht", um auf die Reise geschickt zu werden und das Formular geht davon aus, dass danach wieder alles leer sein muss, falls man nochmal eingeben will? Was kann ich dagegen tun, dass es nicht als Formularelement angesehen wird?
Ich kenne solche Funktionen aus anderen Programmiersprachen (Pascal, VB,...), daher kommt diese Funktion. Und wie ich gerade sehe, ist es wohl möglich, dass ich auf alles geachtet habe, aber nicht auf setfocus/focus. Aber danke, mit focus funktioniert das wunderbar. Habe ich gespeichert.
Ich lerne aus Foren, in denen meine Probleme schon behandelt worden sind, da ich keine Zeit habe, für ein richtiges Tutorium im Moment und mein "Projekt" relativ schnell auf den Weg gebracht sein muss...
Gut, okay. Diese Funktion wiederum habe ich aus einem Buch, aus dem Jahr keine Ahnung. Auf jeden Fall schon älter. Und dort gibt es eine Funktion "clear". Wundert mich, dass es diese nicht geben sollte. Diese würde ich auch aus anderen Sprachen kennen. Natürlich ergibt sich das gleiche Ergebnis mit dem Verwendeten.
Vielen Dank für deine Geduld mit mir
Ich versuche mein Bestmögliches
Und es hat alles gefruchtet.
MfG
kurtis
-
24-11-2009, 20:30 #6
AW: Enter und Setfocus für Anfänger
Informiere dich mal darüber, was das <form>-Tag bedeutet. Und dann lass es weg.
Wenn du es gescheit lernst ist dein Projekt viel schneller fertig.
Ähnliche Themen
-
Kein automatisches Submit beim Druck auf Enter
Von syn im Forum JavaScriptAntworten: 2Letzter Beitrag: 10-02-2009, 12:13 -
textaera innerHTML div ENTER anzeigen
Von neb_lu im Forum JavaScriptAntworten: 1Letzter Beitrag: 11-02-2008, 09:56 -
Enter Taste im Formular
Von uwai im Forum JavaScriptAntworten: 12Letzter Beitrag: 04-09-2005, 00:21 -
Textfeld Enter Taste
Von c.kemmler im Forum AllgemeinesAntworten: 5Letzter Beitrag: 31-08-2005, 16:22
Lesezeichen