Avatar billede orca Nybegynder
30. juli 2002 - 23:19 Der er 6 kommentarer og
1 løsning

Problem med form

Hejsa.

Jeg har en form på mit site (runat="server"). Til den form har jeg en submit knap som kalder funktionen btnSubmit_Click, det fungerer også fint nok. Men hvis brugeren trykker på enter i et form felt, i stedet for at klikke på knappen bliver funktionen ikke kaldt, hvad kan jeg gøre for at fixe det?

Mvh Mark
Avatar billede stig3 Mester
30. juli 2002 - 23:29 #1
Jeg kender intet til .NET men er der ikke en event der hedder formnavn_Submit ?
Avatar billede orca Nybegynder
30. juli 2002 - 23:42 #2
Sub MinForm_Submit
  Response.Write("test")
  Response.End
End Sub

Virkede desværre ikke :(

Mvh Mark
Avatar billede jakobandersen Nybegynder
31. juli 2002 - 00:14 #3
Hej Mark

Din form bliver godt nok submittet men din event er jo stadig bundet til knappen og derfor får du ikke udført din event.

Den eneste mulighed hvis du vil have din event fyret af på return er at bruge javascript til at fange klikket og så trykke på knappen via javascripts click() funktion
Avatar billede orca Nybegynder
31. juli 2002 - 00:32 #4
Den prøver jeg lige, kan det virkelig passe at der ikke er noget indbygget i .NET til at håndtere sådan en situation?

Mvh Mark
Avatar billede jakobandersen Nybegynder
31. juli 2002 - 00:33 #5
Okay, nu er jeg lidt forvirret §-)

Jeg sad og legede lidt med det da jeg efterhånden har set ovenstående spørgsmål en del gange. Det lader til at jeg tager fejl.

Ovenstående drejer sig om en bug i IE som gør at ENTER hvis der kun er et textfelt i en form ikke fyrer onsubmit som et "knaptryk". Det gør alle andre browsere derimod, og sjovt nok gør IE det også hvis der er mere end et formfelt.


NoGood.aspx
<%@ Page Language="VB" %>
<script runat="server">
Sub cmdSubmit_Click(sender As Object, e As EventArgs)
      lblResult.Text = txtOne.Text
End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
<asp:Button id="cmdSubmit" onclick="cmdSubmit_Click" runat="server" Text="Submit"></asp:Button>
<asp:TextBox id="txtOne" runat="server"></asp:TextBox>
</p>
<p>
<asp:Label id="lblResult" runat="server">Ikke submitted</asp:Label>
</p>
</form>
</body>
</html>


Good.aspx
<%@ Page Language="VB" %>
<script runat="server">
Sub cmdSubmit_Click(sender As Object, e As EventArgs)
    lblResult.Text = txtOne.Text
End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
<asp:Button id="cmdSubmit" onclick="cmdSubmit_Click" runat="server" Text="Submit"></asp:Button>
<asp:TextBox id="txtOne" runat="server"></asp:TextBox>
<asp:TextBox id="txtTwo" runat="server"></asp:TextBox>
</p>
<p>
<asp:Label id="lblResult" runat="server">Ikke submitted</asp:Label>
</p>
</form>
</body>
</html>


Så åbenbart er løsningen at have mere end et formfelt.. Og hvis man så kun skal bruge et kan man sætte et "placebo" ind med følgende kode:

<asp:TextBox id="txtTwo" runat="server" style="visibility:hidden;"></asp:TextBox>
Avatar billede orca Nybegynder
31. juli 2002 - 00:39 #6
Jamen det virker jo! :D. Jeg giver dig lige en sjat mere for den indsats :).
Tak.
Avatar billede jakobandersen Nybegynder
31. juli 2002 - 00:50 #7
Nu kan jeg ikke lige finde spørgsmålet men jeg har tidligere vildledt en på samme spørgsmål... :-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester