Avatar billede tuvix Nybegynder
11. juni 2004 - 21:10 Der er 14 kommentarer

Submit af side ved tryk på enter i textbox

Jeg har en login side, hvor der er en textbox og en knap. Når jeg skriver password i textboxen og trykker enter bliver siden bare reloaded. Trykker jeg derimod på knappen bliver jeg logget ind. Hvordan får jeg textboxen til at gøre det samme, som hvis jeg trykker på knappen?
Avatar billede hmmhelpinghmm Nybegynder
11. juni 2004 - 21:17 #1
<form action="navn på siden den skal skifte til" method="post">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">Brugernavn:</font><br>
<input name="bruger" type="text" size="20" maxlength="20"><br>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">Password:</font><br> 
<input name="pass" type="password"  size="20" maxlength="20">
Avatar billede the_ghost Nybegynder
11. juni 2004 - 21:22 #2
Jeg går ud fra at du bruger:

<input type="button" value="Log Ind">

prøv med

<input type="submit" value="Log Ind">

istedet
Avatar billede tuvix Nybegynder
11. juni 2004 - 21:23 #3
Det her er, hvad jeg har i forvejen. Jeg vil gerne kunne bruge det jeg har. Kan det ikke lade sig gøre?

<FORM ID="Form1" METHOD="post" RUNAT="server">
<ASP:LABEL ID="Label1" STYLE="Z-INDEX: 103; LEFT: 32px; POSITION: absolute; TOP: 104px" RUNAT="server" HEIGHT="24px" WIDTH="80px">Password</ASP:LABEL>
<ASP:TEXTBOX ID="passwordTxt" STYLE="Z-INDEX: 104; LEFT: 128px; POSITION: absolute; TOP: 104px" RUNAT="server" WIDTH="96px" TEXTMODE="Password"></ASP:TEXTBOX>
<ASP:BUTTON ID="loginBtn" STYLE="Z-INDEX: 105; LEFT: 240px; POSITION: absolute; TOP: 104px" RUNAT="server" WIDTH="88px" TEXT="Login"></ASP:BUTTON>
</FORM>
Avatar billede hmmhelpinghmm Nybegynder
11. juni 2004 - 21:25 #4
<form action="navn på siden den skal skifte til" method="post">

Brug det!
Avatar billede dna Nybegynder
12. juni 2004 - 00:02 #5
friends: Har du styr på forskellen imellem ASP og ASP.NET?????

tuvix: Det lyder mere som en kendt bug der er i .NET, når der kun er 1 textbox og 1 knap, så vil enter ikke virke. Prøv at indsætte en textbox mere (Behøver ikke have nogen funktionalitet), og test så?

dna
Avatar billede tuvix Nybegynder
12. juni 2004 - 09:41 #6
Tak dna. Det var det der skulle til. Underlig bug!!
Avatar billede tomledk Nybegynder
12. juni 2004 - 11:24 #7
Her en lille metode som jeg plejer at anvende. Den binder en textbox og en knap sammen således at når du står i textboxen og trykker enter, så er det den tilknyttede knap der bliver submittet.


public static void TieSubmitButton(System.Web.UI.Control TextBoxToTie, System.Web.UI.Control ButtonToTie)
{

    // This is our javascript - we fire the client-side click event of the button if the enter key is pressed.
    string jsString = "if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {document.getElementById('"+ButtonToTie.UniqueID.Replace(":","_")+"').click();return false;} else return true; ";
    // We attach this to the onkeydown attribute - we have to cater for HtmlControl or WebControl.
    if (TextBoxToTie is System.Web.UI.HtmlControls.HtmlControl)
        ((System.Web.UI.HtmlControls.HtmlControl)TextBoxToTie).Attributes.Add("onkeydown",jsString);
    else if (TextBoxToTie is System.Web.UI.WebControls.WebControl)
        ((System.Web.UI.WebControls.WebControl)TextBoxToTie).Attributes.Add("onkeydown",jsString);
    else
    {
        // We throw an exception if TextBoxToTie is not of type HtmlControl or WebControl.
        throw new ArgumentException("Control TextBoxToTie should be derived from either System.Web.UI.HtmlControls.HtmlControl or System.Web.UI.WebControls.WebControl", "TextBoxToTie");
    }
}
Avatar billede dna Nybegynder
12. juni 2004 - 11:34 #8
Hvis det er en simpel side med bare den ene textbox, så kan du evt. bare sætte bredden på textbox 2 til 0. Så vil den ikke være synlig på din side, men du vil stadig undgå buggen! :D

Eller også brug noget tomledk´s js-løsning!

dna
Avatar billede tuvix Nybegynder
12. juni 2004 - 11:39 #9
Det virker. Tak for det tomledk. Jeg synes det var en lidt bedre løsning end at skulle til at tilføje en textbox mere.
Avatar billede stefan_v Nybegynder
08. juli 2004 - 12:22 #10
Har før haft det samme problem... Det kom da textboxen og knappen var i samme tablecell??? Nu vi er i gang kan vi jo lige så godt få en masse løsninger på bordet, så her er den jeg bruger:



<script language="JavaScript" type="text/javascript">

function submitForm()
{
  document.forms["clientForm"].action = "http://blabla.dk";
  document.forms["clientForm"].submit();
}

function whichButton()
{
  if (event.keyCode == 13)
  {
      var followingInput = document.getElementById("TextBoxSoeg");
      submitForm();
  }
}

</script>
<body onkeyup="whichButton()">

<asp:TextBox runat="server" ToolTip="Indtast s&#248;geord" ID="TextBoxSoeg"></asp:TextBox>
<input type="button" value="Search" onclick="submitForm()" />

[...]

</body>

thats MY 2 cents...

stefan_v
Avatar billede the_ghost Nybegynder
07. marts 2005 - 12:55 #11
Mon det ikke er på tide at spørgsmålet bliver lukket ?
Avatar billede stefan_v Nybegynder
14. september 2006 - 14:46 #12
Lukkes?
Avatar billede irsild Nybegynder
21. februar 2007 - 10:59 #13
Det virker fint i IE, men jeg kan ikke få det til at virke i Firefox 2.0?
Avatar billede irsild Nybegynder
21. februar 2007 - 11:01 #14
Altså tomledks javascript virker i IE, men ikke i Firefox 2.0 ?
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