Asp.Net Form DefaultButton-Fehler in Firefox
Den .Net generierten code für ein Formular mit der "DefaultButton" - Attribut enthält Armen javascript erlaubt, dass die Funktionalität zum arbeiten in IE, aber nicht in anderen Browsern (Firefox, specifcially).
Drücken der enter-Taste senden Sie das Formular mit allen Browsern, aber Firefox nicht außer acht lassen, die-Taste drücken, wenn es passiert, innerhalb von einer <textarea> kontrollieren. Das Ergebnis ist ein mehrzeiliges Textfeld-Steuerelement, das kann nicht sein, multiline in Firefox als enter-Taste das Formular absendet, anstatt die Schaffung einer neuen Linie.
Weitere Informationen über den Fehler, Lesen Sie hier.
Könnte dies behoben werden Asp.Net 3.0+, sondern eine Problemumgehung, die noch erstellt werden für den 2.0.
Ideen für die leichteste Abhilfe (einen hack, der sieht nicht wie ein hack =D)? Die Lösung in dem oben genannten link erschreckt mich ein wenig, da es sehr leicht zu unbeabsichtigten Nebenwirkungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich diese Funktion adaptiert von codesta. [Edit: genau das gleiche, ich sehe, dass Sie Angst! Oops. Kann dir nicht helfen, dann.]
http://blog.codesta.com/codesta_weblog/2007/12/net-gotchas---p.html.
Sie es verwenden, um Ihren code in ein div so gerne. Sie könnte eine Unterklasse der Form nach gehören diese automatisch. Ich benutze es nicht so viel, sodass ich nicht.
Hier ist die Funktion.
Scheint es, dass das Update codesta.com dass harpo link ist nicht mehr notwendig, da das Update-Ereignis.srcElement ist nicht integriert in ASP.NET 3.5. Die Umsetzung der DefaultButton jedoch noch einige Probleme haben, denn es ist das abfangen der Enter-Taste in zu vielen Fällen. Zum Beispiel: Wenn Sie aktiviert eine Schaltfläche in das Formular mit Registerkarte, drücken Sie die EINGABETASTE, klicken Sie auf die Schaltfläche, und nicht das Formular abschicken.
Gehören die folgenden JavaScript-code an der Unterseite Ihres ASP.NET die web-Seite zu machen, Geben Sie Verhalten sich so wie es soll.
Für dieses spezielle Problem, der Grund ist, weil javascript generiert
ASP.NET 2.0 hat einige nur IE-notation: Ereignis.srcElement ist nicht erhältlich in
FireFox (verwende Veranstaltung.Ziel statt):
Wenn wir die ersten 2 Zeilen in:
Setzen Sie den geänderten code in eine Datei und führen Sie dann
Dann funktioniert es für den IE und FireFox.
Quelle:
http://www.velocityreviews.com/forums/t367383-formdefaultbutton-behaves-incorrectly.html