Problem bei Textfeld eingabe

Hallo Leute

Bin neu hier und gerade dabei Java zu lernen. Ich habe da mal eine Frage.
Wenn ich in einem Textfeld eine Eingabe machen und den dafür bestimmten Button mit der Maus anklicke funktioniert alles wie gewünscht, aber wenn ich statt des Buttons die Enter Taste benutze klappt es nicht.
Als Beispiel hier mal ein Quellcode von Selfhtml bei dem das auch passiert.

Test

Geben Sie eine Zahl ein. Es wird geprüft, ob es sich um eine Primzahl handelt.

Wenn ich KeyListener einbaue funktioniert das zwar. Allerdings ändert sich genauso wie ohne KeyListener die angezeigte URL in der Adresszeile. Und ich kappiere nicht wieso oder wie ich das verhindern kann.

Über eine Erklärung die auch ein Leihe versteht wäre ich sehr dankbar.

Mit freundlichsten Grüssen Carnifex

zuerst: Das ist Javascript und kein Java

Wenn du bei Textfeldern auf die Entertaste reagiern möchtest, dann solltest du auf submit-events reagieren. z.B.


<html>
    <head>
        <script type="text/javascript">
            function doAlert(zahl) {
                alert(zahl);
            }


        </script>
    </head>
    <body>
        <form name="eingabe" onsubmit="doAlert(this.wert.value); return false;">
            <input type="text" name="wert" /> <input type="button" value="ok" onclick="doAlert(document.eingabe.wert.value)" />
        </form>
    </body>
</html>

Hiho Tomate_Salat

Danke für die schnelle Antwort.

Stimmt Javascript. :wink:

Hab jetzt mal onsubmit eingebaut. Jetzt funktioniert die Enter Taste zwar allerdings ändert sich nach dem OK klicken im Alarmfenster immernoch die URL in der Adresszeile des Browsers. Immer „*.html?Eingabezahl=(die eingegebene Zahl)“, Hat das einen speziellen Grund? Und wie kann man das verhindern?

Geben Sie eine Zahl ein. Es wird geprüft, ob es sich um eine Primzahl handelt.

Mit freundlichsten Grüssen Carnifex

Bei mir tut es das nicht und sollte es auch nicht. Sicher das es nicht noch von vorher stammt? Ruf deine Seite nochmal mit einer “sauberen” URL auf und teste es nochmal.

Und für die Zukunft: nutze für HTML-Code bitte html-tags: [noparse]

<html>...</html>

[/noparse]. Das macht es uns einfacher die Sachen zu lesen

Hiho

Habe eine komplett neue html erstellt mit dem Code aus meinem vorherigen Beitrag.

So sieht das bei mir aus:

Bevor ich etwas eingebe

Nachdem ich den Button zum absenden benutzt haben und das danach geöffnete Fenster sich nach dem klicken auf OK wieder geschlossen hat

Nachdem ich mit Enter bestätigt habe und das Fenster wieder geschlossen ist nach dem OK klicken

Liegt das vielleicht am Browser? beim IE hab ich das ebenfalls.

Sorry mit dem HTML-Code werde ich das nächste Mal beachten. Wie gesagt bin neu hier.

Mit freundlichsten Grüssen Carnifex

Ja, du hast ein " zuviel drin.


<!-- Deins (ist-zustand) -->
<form name="PrimzahlFormular" onsubmit="PrimzahlCheck(document.PrimzahlFormular. Eingabezahl.value)"; return false;">
<!-- soll-zustand -->
<form name="PrimzahlFormular" onsubmit="PrimzahlCheck(document.PrimzahlFormular. Eingabezahl.value); return false;">

wenn du das korrigierst, dann geht es

Hiho

Supi. Danke dir vielmals. Das hätte ich ja in hundert Jahren nicht gesehen.

Mit freundlichsten Grüssen Carnifex

Soetwas findest du sehr einfach, wenn du eine IDE/einen Editor verwendest der Syntaxhighlighting anbietet, z.B.:

  • Aptana Studio
  • Netbeans
  • Notepad++
  • Eclipse
  • PSPad