Ex med ASP. Ifall man trycker enter när man är i text fältet händer ingenting. Det funkar dock ifall man trycker på submit-knapparna. Hur ska detta lösas? JavaScript?
<%
action = trim(request.form("action"))
Select case action
case "hej"
Response.Write "hej"
case "då"
Response.Write "då"
end select
%>
<html>
<form method="POST" action="submits.asp">
<input type="text">
<input type="submit" value="hej" name="action">
<input type="submit" value="då" name="action">
</form>
</html>
Detta hör väl egentligen mer till ASP, men. När du bara trycker enter i textfältet ger du ju inget värde till "action" (eftersom du inte tryckt på någon av submit-knapparna). Således;
<%
action = trim(request.form("action"))
Select case action
case "hej"
Response.Write "hej"
case "då"
Response.Write "då"
case ""
Response.Write "enter"
end select
%>
Men jag menar alltså så här. Jag använder koden utan case "" och sen skriver jag in något i textfältet och trycker enter. Då skriver den inte ut någonting. Är det så du gör och den skriver ut något? Har du ändrat någon kod?
När du säger "händer ingenting" fattar jag det som att formuläret inte skickas iväg över huvud taget? Annars har jag provat samma exempel. Det enda undantaget jag märkt är att Mozilla använder värdet från den första submit-knappen och skickar det när du trycker enter. Således skickar den "hej" som värde för "action" även om du inte klickar på den specifika knappen utan trycker enter i ett text-fält.
Jodå...formuläret skickas iväg (testade att sätta ett namn på textfältet och skriva ut det och det funkade) och sidan laddas om men den skriver inte ut något hej eller då. Den kommer bara tillbaka till ursprungsläget som om ingenting hänt...konstigt det här. Finns det något annat sätt jag kan testa?