Laden...

Mit Enter bestimmten Button im Formular betätigen?

Erstellt von HoMi vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.667 Views
H
HoMi Themenstarter:in
2 Beiträge seit 2006
vor 17 Jahren
Mit Enter bestimmten Button im Formular betätigen?

Hallo zusammen,

mein Problem sieht folgendermassen aus:

Ich habe in meiner aspx Seite ein Formular. In diesem Formular habe ich ein Textfeld, eine Combobox und einen Imagebutton. Ich möchte nun, dass nach drücken der enter-Taste das selbe passiert, wie wenn ich den Image Button drücke. Wenn ich die Taste drücke macht er einen Postback und spring zu PageLoad. Hier könnte ich natürlich die selbe Methode aufrufen, die unter meinem Button liegt. Allerdings habe ich gemerkt, dass er den Postback nur ausführt wenn der Focus im Textfeld ist, aber nicht wenn er auf der Combobox liegt. Auch mit OnSelectedItemChanged und TextChanged konnte ich kein Ergebnis in der C-Box erzielen. Natürlich könnte ich einen unsichtbaren submit-Button erstellen und die Methode von jenem aufrufen lassen, allerdings finde ich das irgendwie nicht so schön. Gibt es vielleicht wie in Access die möglickeit einen Knopf als Standart-Button zu definieren? Oder Einstellungen am Formular?

Danke schonmal im Voraus.

Gruß
HoMi

35 Beiträge seit 2006
vor 17 Jahren
if (msg.WParam.ToInt32() == (int)Keys.Enter)
 { 
"MeinButton"_Click(null, null);
return true;
 } 

müsste gehen.

Enter is da ne besondere Taste, (fast) alle anderen Tasten haben zugewiesene Nummern die du dann so angibts => (zB. "+", wobei das aufn Num-Block anders is, als das Neber der EnterTaste)

if (msg.WParam.ToInt32() == 187)
 { 
"MeinButton"_Click(null, null);
return true;
 } 

PS: schau doch mal links, da is so eine NavigationLeiste und da steht...Mist...nun seh ichs net...ich weiß aber dass es des gibt....Ahh... DIE SUCHE! 😜

mfg
//V!coN

life is to short, dont go to big !!

3.170 Beiträge seit 2006
vor 17 Jahren

Hallo,
Du kannst mit JavaScript das "onkeydown" bzw. "onKeyPress"-Event für die ganze Seite implementieren. Dann erhälst Du alle Tastatureingaben und kannst entsprechend reagieren und das Event als erstes behandeln, unabhängig davon wo der Focus steht. Wenn Du das Event behandelt hast, gibst Du aus dem Handler true zurück, dann wird das Event abgebrochen. Andernfalls (andere Taste) gibst Du false zurück und das Event wird weitergereicht und standardmäßig behandelt.
Mehr zu JavaScript und EventHandlern findest du im SelfHTML

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

H
HoMi Themenstarter:in
2 Beiträge seit 2006
vor 17 Jahren

Also erstmal danke euch.
Kann es sein, dass zu dem c# Beispiel eine using Direktive gehört?

Zu dem Java Script Teil, da bin ich grade dabei mir das anzuschauen. Wenn sich was ergibt melde ich mich wieder ...

Nochmals danke.

Gruß
HoMi

3.170 Beiträge seit 2006
vor 17 Jahren

@vicon
hast Du Dich da evtl. vertan oder hab ich was nicht mitgekriegt? Ich wüßte nicht wie ich in einer ASPX-Anwendung einen Tastendruck auf dem Client auswerten sollte mit serverseitigem Code, dazu muss ja schon ein Post laufen...

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

35 Beiträge seit 2006
vor 17 Jahren

upala, sry
da hab ich was in der Frage überlesen 😉

mfg
// V!coN

life is to short, dont go to big !!

X
1.177 Beiträge seit 2006
vor 17 Jahren

Hoi HoMi,

Original von HoMi
Allerdings habe ich gemerkt, dass er den Postback nur ausführt wenn der Focus im Textfeld ist, aber nicht wenn er auf der Combobox liegt. Auch mit OnSelectedItemChanged und TextChanged konnte ich kein Ergebnis in der C-Box erzielen

Stell deine ComboBox auf AutoPostBack="True" - dann kommt auch ein Post-Back an.

*Warnung*
Ein Return im IE wird immer an das erste Steuerelement vom Typ Submit-Button in einer Form übergeben - insofern wird immer ein Post-Back ausgelöst, auch wenn du es garnicht erwartest. Bitte nicht im "on_page_load" auf Post-Back testen und hoffen dass schon alles korrekt eingetragen ist...

🙂

cu xynraton

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

1.130 Beiträge seit 2005
vor 17 Jahren