Jag har en ASP.NET-sida (VB) med ett formulär av ett antal textrutor. När man t ex gör en ändring i en textruta och trycker på OK, händer ingenting. Klickar man med "pekaren" utanför textrutan och trycker OK funkar det. Hej, generellt kan du inte trycka enter i en textbox och tro att den sparar undan / postar data. Har du en ok-knapp /submit-knapp på sidan som du kommer åt? När markören (cursor) är kvar i textrutan måste jag trycka två gånger på OK-knappen (submit). Finns det inget sätt att "gå runt" då focus (markören) står i textrutan och man trycker på submit. Jag har sökt på nätet men inte funnit någon lösning, T ex att "tvångsförflytta" focus från textrutan när man trycker på submit. Jag vet inte om det skulle kunna gå att göra med lite javascript. Nu är jag inte så bra på javascript så jag kan inte bedömma detta. Detta problem måste alltid ha funnits utan att någon har löst det eller så finns det en lösning. se: Jag brukar ibland lägga till denna koden som är rätt enkelt att applicera i page_load eventet. Jag får det inte att fungera. Här har jag en mycket enkel exempelkod: Jag har löst det genom att ändra koden i Button1 till följande: TextBox1.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('Button1').click();return false;}} else {return true}; ") När jag la in din kod i form.load-eventet hände följande: Tanken är att när du har fokus i textrutan vilket användaren har när han skriver i denna så fångas med javascript att enter tryckts. Om det är så, lägg fokus på din submit-knapp och simulera att du trycker på den. Jag har tyvärr inte fått det att fungera men tack för hjälpen ändå.Problem med textruta - Trycka Enter i Textrutan för submit
Detta uppfattas av kunder som irriterande. Är det någon som har en idé om hur detta problem kan lösas? Sv: Problem med textruta
Visa gärna lite html-kod så kanske det är lättare att se och råda.Sv: Problem med textruta
Sv:Problem med textruta
http://www.google.se/search?q=javascript+textbox+onkeyup&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:sv-SE:official&client=firefox-a#hl=sv&client=firefox-a&hs=eje&rls=org.mozilla:sv-SE%3Aofficial&sclient=psy-ab&q=javascript+textbox+onkeyup+enter&pbx=1&oq=javascript+textbox+onkeyup+enter&aq=f&aqi=&aql=&gs_sm=3&gs_upl=56870l57725l0l58827l6l5l0l1l1l0l198l759l0.5l6l0&gs_l=serp.3...56870l57725l0l58828l6l5l0l1l1l0l198l759l0j5l6l0&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=db5403326a499bbd&biw=1305&bih=828
En länk som verkar funka:
http://www.jguru.com/faq/view.jsp?EID=1140915
Sen får du köra formNamn.submit() om jag inte minns fel.Sv: Problem med textruta
' lägger till så vi hanterar klick korrekt
txtsearch.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) ||
(event.keyCode == 13)) {document.getElementById('MasterPage_headermenu1_btnSearch').click();return
false;}} else {return true}; ")
Observera, du får ändra masterpage_headermenu1_xxx tll vad du har döpt knappen själv. Surfa till sidan och titta på visa källa så du ser vad knappen är döpt till.Sv:Problem med textruta
<%@ Page Language="vb" %>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
SetFocus(TextBox1)
End If
End Sub
Sub Button1_Click(sender As Object, e As EventArgs)
Label1.text=TextBox1.Text
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<div>
<asp:TextBox id="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox>
</div>
<div>
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="OK" Width="50px"></asp:Button>
</div>
<div><asp:Label id="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>Sv: Problem med textruta
Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Detta var ett förhastat konstaterande. Det fungerade på mitt enkla exempel, men det funkade inte på den verkliga applikationen.
Så nu står man på ruta noll igen.
Ditt förslag Pelle låter intressant men jag fick det inte att fungera.Sv:Problem med textruta
Lägg denna kod i form.load-eventet och se om det fungerar enligt den kod du har presenterat i exemplet ovan och se om det inte fungerar när du trycker enter i textrutan Textbox1.Sv: Problem med textruta
När jag tryckte på Enter skrevs texten i Label (jag tryckte inte alls på knappen i detta fall).
Jag fick samma resultat när jag tryckte två gånger på Button1.
Var det så du hade tänkt att resultatet skulle bli?
Jag hade tänkt mig att man endast skulle behöva trycka på Button1 en enda gång, att enterfunktionen var involverad på något sätt i själva knapptryckningen. Sv:Problem med textruta
Hälsningar
PelleSv: Problem med textruta
Hälsningar
Gunnar