webForumDet fria alternativet

Liten fråga angående submit vid Enter

HTML & CSSur HTML, XHTML & CSS

15 svar · 919 visningar · startad av Tulork

TulorkMedlem sedan aug. 2004903 inlägg
#1

Undrar lite över varför det ibland inte går att trycka på Enter knappen vid när man vill skicka i ett formulär? Vissa av de sidor jag skapat fungerar det.. i andra inte, och jag ser ingen direkt skillnad på formulären jag använder mig av.

Ett exempel på ett formulär jag använder mig av där jag inte kan använda enter knappen.

<form style="margin-top:0px;" action="index.php" method="post">
<input type="text" name="XX" class="input2" value="XX" /><br />
<input type="submit" value="Search" name="Search" class="submit3" />
</form>
dAEkMedlem sedan feb. 20041 816 inlägg
#2

Kan det vara ett problem specifikt för vissa webbläsare? Jag kan nämligen inte komma ihåg att jag haft det här problemet med Opera.

TulorkMedlem sedan aug. 2004903 inlägg
#3

Det gäller främst IE. FF, Opera fungerar korrekt.

dAEkMedlem sedan feb. 20041 816 inlägg
#4

Aha. Det brukar krångla med enterknappen om man inte har nån submit men det har du ju. Vet inte om det finns nån annan workaround än att lägga en lyssnare på formuläret. Inte världens snyggaste lösning kanske, men för användarna underlättar det om beteendet är konsekvent.

TroxyMedlem sedan mars 20041 505 inlägg
#5

Tulork, jag kan posta med enter när jag använder din kod, både med Firefox och IE.
Är du säker på att du inte har utelämnat några detaljer i ditt exempel som kan ställa till problem?

TulorkMedlem sedan aug. 2004903 inlägg
#6

Ni kan själv undersöka fenomenet på gymgate första sidan. Sök på Halmstad exempelvis

KattagrafenMedlem sedan juli 200612 inlägg
#7

Det fungerar finfint att posta med "Enter", både när man söker på Halmstad och andra orter. Firefox 2.0.0.6

@ndersMedlem sedan juni 200032 969 inlägg
#8

Kattagrafen:

Tulork skrev:

Det gäller främst IE. FF, Opera fungerar korrekt.

TulorkMedlem sedan aug. 2004903 inlägg
#9

Precis. Det är i IE problemet uppstår. jag har inte hittat en lösning än. Kan tyckas bara ett litet problem, men som sagt så är det väldigt bra om sidans beteende är konsekvent rakt genom sajten. Om man trycker enter och ingenting händer kan man få intrycket att det inte finns några gym under den staden, fast i själva verket är det bara submit som inte fungerar korrekt vid enter tryck.

dAEkMedlem sedan feb. 20041 816 inlägg
NiklassonMedlem sedan nov. 2000857 inlägg
#11

Jag upptäckte detta alldeles nyligen, och konstaterade bara att formulär med endast ett input-fält inte submittades via enter i IE. Verkar vara så även för dig.
Hittat nån lösning?

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#12

Hmmm... Jag har ett liknande problem i internet explorer 7. När jag slår enter för att submitta formuläret så submittas visserligen formuläret men submit knappens value skickas inte. Det kanske är logiskt men min funktion bygger på att jag använder inputknappens värde för att exekvera saker. Finns det någon smidig lösning på detta?

<form action="login.asp?rTargetUrl=<%=sTargetUrl%>" method="post" name="frmLogin" style="margin:0px; padding:0px;"> 
<input type="text" name="rAccountName" value="" maxlength="30" style="width:186px; font-size:20px;">
<input type="submit" value="Select" name="rButton" style="width:100px; font-size:18px;"> 
</form>
nitro2k01Medlem sedan aug. 20039 342 inlägg
#13

Och du har bara en submit-knapp i det formuläret? Du kan ju alltid lägga till ett hidden-fält. (Om inte för att testa först att vu verkligen submittar rätt form.)

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#14

Hmm... hidden fältet är ju faktiskt en workaround som fungerar :/

  	ACCOUNT:<br />
	<% if globalAccountName <> "" then %>
 
		<form action="login.asp?rTargetUrl=<%=sTargetUrl%>" method="post" name="frmLogin" style="margin:0px; padding:0px;" onsubmit="return validera()"> 
  		<input type="text" name="rAccountName" value="<%=globalAccountName%>" disabled="disabled" maxlength="30" style="width:186px; font-size:20px;"><br />
 		<% call subShowAllAccountActivities() %><p></p>
 
	    PASSWORD:<br />
	    <input type="password" name="rLoginPass" value="" maxlength="30" style="width:186px; font-size:20px;">
	    <input type="submit" value="Log in" name="rButton" style="width:100px; font-size:18px;"> 
		<script>
		frmLogin.rLoginPass.focus();
		</script>
  
  	<% else %>
  
		<form action="login.asp?rTargetUrl=<%=sTargetUrl%>" method="post" name="frmLogin" style="margin:0px; padding:0px;"> 
    	<input type="text" name="rAccountName" value="" maxlength="30" style="width:186px; font-size:20px;">
    	<input type="submit" value="Select" name="rButton" style="width:100px; font-size:18px;"> 
 		<br/>
        <%=varAccountText %>
		<script>
		frmLogin.rAccountName.focus();
		</script>
    <% end if %>
</form>

Jag har alltså två submitknappar men bara en av dem syns via if-satsen. Antog att detta var tillåtet. ?!

nitro2k01Medlem sedan aug. 20039 342 inlägg
#15

Ja, webbläsaren kan ju bara se en knapp i taget. Det där låter mer som en bugg i IE7. De kanske t ex har bestämt sig för att sluta skicka med submit-knappens värde om man trycker enter, oavsett omständigheter?
Om jag var du skulle jag bara köra ett hidden-fält och inte fundera vidare på det.

Edit: Kan du för övrigt inte gå efter huruvida password-fältet existerar? I PHP kan man göra något i stil med

if(isset($_POST['password'])){...}

Vet dock inte om det finns någon motsvarighet i ASP.

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#16

Tack för din hjälp Nitro. Bekräftar att hidden variaten löste mitt problem. :)

136 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)