webForumDet fria alternativet

Dissbla sendknappen

5 svar · 562 visningar · startad av clarkbones

clarkbonesMedlem sedan feb. 20013 023 inlägg
#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...

nitro2k01Medlem sedan aug. 20039 342 inlägg
clarkbonesMedlem 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?

mozillaMedlem 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 :)

clarkbonesMedlem 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...

clarkbonesMedlem 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.

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
127 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)