webForumDet fria alternativet

Dissbla sendknappen

.NETur .NET

5 svar · 562 visningar · startad av clarkbones

Medlem sedan feb. 20013 023 inlägg
Frågan#1

Hej, i ett webform som jag har fyller användarna i lite siffror. En och annan verkar dock tro att de sitter i Excel och trycker Enter efter varje inmatning.
Då postas hela formuläret och ett mail med värdena går iväg till en annan användare av applikationen. Eftersom det är runt tio värden som fylls i är det lite tråkigt att få tio mail, tycker denne. Det räcker med ett. Kan man disabla funktionen som postar forumläret genom Enter och bara acceptera klickningar på Skicka-knappen? Att informera användarna om hur man ska göra ser jag som utsiktslöst...

Medlem sedan aug. 20039 340 inlägg
Medlem sedan feb. 20013 023 inlägg
#3

Tack för svaret, men vid närmare eftertanke vill jag bara att formuläret skall skickas om användaren klickar på skicka-knappen. Går det att ordna?

Medlem sedan juli 20011 084 inlägg
#4

Det borde gå att lösa genom att lägga till onsubmit="return false;" på form-taggen. Och sedan ta bort onsubmit och submita formuläret när man klickar på knappen.

exempel på hur det borde fungera:

code-behind:
Button.Attributes.Add("onclick","document.getElementById('form1').onsubmit=''; document.getElementById('form1').submit();");

html:
<form id="form1" onsubmit="return false;" runat="server">
  <asp:Textbox id="txtInfo" runat="server" />
  <asp:Button text="Submit" id="Button" runat="server" />
</form>

Hittade dock ingen metod för att skriva javascript onClick direkt på asp:Button, om någon vet hur man gör får ni gärna säga till :)

Medlem sedan feb. 20013 023 inlägg
#5

Tack för hjälpen, men det verkar inte fungera. Om man har en textbox i formet markerad, och trycker ENTER kommer först Click-eventet på knappen köras, därefter kommer formets onSubmit-event att köras.

Det verkar som det i a f...

Medlem sedan feb. 20013 023 inlägg
#6

Nu verkar det som jag hittat en lösning.
På formet sätter jag: onkeypress="if((window.event||arguments[0]).keyCode==13) return false;", ungefär som Nitro2K01 föreslog. Enter ger då ingen postning

Klickar man seda på sendknappen så postas formuläret.

129 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)