3 Stimmen

IE 8 - ASP.NET-Formular wird nicht gesendet, wenn der Benutzer die Eingabetaste drückt

Ich habe ein einfaches Formular in asp.net/C# geschrieben und beim Versuch, Enter zu drücken, während in das Eingabefeld des Formulars nicht das Formular aus irgendeinem Grund senden. Ich hatte eine Lösung für einen früheren Fehler implementiert, wo Drücken der Eingabetaste lediglich die Seite aktualisieren würde, ohne die Formulardaten zu übermitteln, aber jetzt Drücken der Eingabetaste tut einfach nichts, die Lösung ist unten:

<div style="display: none">
    <input type="text" name="hiddenText" />
</div>

Kennt jemand eine Lösung für dieses Problem oder einen Workaround?

5voto

Kyle B. Punkte 5637

Ich gehe davon aus, dass Sie irgendwo auf Ihrer Seite eine Schaltfläche sowie einen Event-Handler für diese Schaltfläche haben.

Haben Sie versucht, Ihr Formular (mit der Schaltfläche) innerhalb eines Panel-Steuerelements zu verpacken und das Standardattribut für die Schaltfläche festzulegen?

d.h.

<asp:Panel id="pnlMyForm" runat="server" DefaultButton="btnMyButton">
<asp:textbox id="txtInput" runat="server" />
<asp:Button id="btnMyButton" text="Submit" runat="server" />
</asp:Panel>

4voto

KP. Punkte 12720

Sie können eine Standardschaltfläche für ein Formular festlegen, was bedeutet, dass das Drücken der Eingabetaste auf einem beliebigen Eingabefeld diese Schaltfläche auslöst (d. h. die Schaltfläche "Submit" anvisiert). Ich habe nicht gehört, dass dies in einem bestimmten Browser nicht funktioniert. Dies sollte Sie von der Notwendigkeit eines Workarounds/Hacks befreien.

<form id="form1" runat="server">
    <asp:Panel ID="pnlFormContents" runat="server" DefaultButton="btnSubmit">
        <!-- add some input controls as needed -->
        <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click"/>
    </asp:Panel>
</form>

Ich hoffe, das hilft...

0voto

Trinition Punkte 1133

Ich erinnere mich nicht an die Einzelheiten der Regeln, aber die meisten Browser haben die Fähigkeit, Formulare abzuschicken, wenn ENTER gedrückt wird, wenn die Bedingungen erfüllt sind. Ich glaube, es hängt davon ab, ob man ein oder mehrere Felder hat, oder ob es mindestens eine Schaltfläche zum Absenden gibt (auch wenn man sie ausblendet). Ich habe das auf einer Website gemacht, die ich kürzlich erstellt habe, aber ich habe den Code nicht zur Hand, aber ich kann Ihnen sagen, dass es ohne spezielles Scripting funktioniert. In diesem Beitrag finden Sie weitere Einzelheiten:

http://manfred.dschini.org/2007/09/20/submit-form-on-enter-key/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X