onClick event för knapp vid entertryck

.NET

2 svar · 354 visningar · startad av wallabou

Medlem sedan apr. 200487 inlägg
Trådstart#1

Har ett formulär med diverse textboxar och dyl. Nu är det så att jag vill att onClick eventet för en viss knapp skall anropas när man trycker på enter, de enda lösningarna jag hittat när jag sökt lägger till ett javascript för en specifik textbox vilket känns väldigt osmidigt då det är ganska många.

Medlem sedan jan. 200090 inlägg
#2

hej wallabou

Vad tror du om denna lösning. Skriv in i din code behind fil (vb) detta. Med dessa anrop kan du styra dina användare vilken knapp som skall aktiveras beroende på vilken textruta användaren står i. Anropets argument är (först sidan, den textruta som användaren står i, samt knappen som skall aktiveras)

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Put user code to initialize the page here
    Call SetDefaultButton(Me.Page, txtPassword, btnSignIn)
    Call SetDefaultButton(Me.Page, txtEmail, btnSendPassword)

End Sub

och subrutinen i samma fil skrivs

Public Sub SetDefaultButton(ByVal page As Page, ByVal textControl As TextBox, ByVal defaultButton As Button)
    Dim theScript As String = "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "\<SCRIPT language=""javascript""\>" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "\<!--" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "function fnTrapKD(btn, event){" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " if (document.all){" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " if (event.keyCode == 13){" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " event.returnValue=false;" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " event.cancel = true;" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " btn.click();" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " }" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " }" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " else if (document.getElementById){" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " if (event.which == 13){" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " event.returnValue=false;" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " event.cancel = true;" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " btn.click();" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " }" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " }" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " else if(document.layers){" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " if(event.which == 13){" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " event.returnValue=false;" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " event.cancel = true;" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " btn.click();" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " }" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + " }" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "}" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "// --\>" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "" + Microsoft.VisualBasic.Chr(13) + "" + Microsoft.VisualBasic.Chr(10) + "\</SCRIPT\>"

    Page.RegisterStartupScript("ForceDefaultToScript", theScript)
    textControl.Attributes.Add("onkeydown", "fnTrapKD(" + defaultButton.ClientID + ",event)")
End Sub

Lycka till.

Medlem sedan apr. 200487 inlägg
#3

Var egentligen ett sådant jag inte ville ha, men får väl bli något sådant. Tack för hjälpen hursomhelst.

255 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)