webForumDet fria alternativet

Submit som bråkar

10 svar · 774 visningar · startad av Matsakii

MatsakiiMedlem sedan mars 2005265 inlägg
#1

Jag har en inloggning till min community. Som jag har koden nu så kan man inte fylla i och sen trycka på "enter" på tangentbordet, utan måste klicka på login knappen.

Förut så fungerade denna kod:

<td>
<a href="/m_forgotPsw.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('glomtlosen','','/images/knappar/knapp_glom
tlosen_on.gif',1)"><img src="/images/knappar/knapp_glomtlosen_off.gif" 
alt="Gl&ouml;mt ditt l&ouml;senord?" id="glomtlosen" width="100" height="15" border="0"></a>
<div style='position: absolute; left: -200; top: 0;'><input type='submit'></div>
</td>

Men nu så kommer en ful ruta upp längst upp på sidan "Submit query" om jag har kodsnutten som gör att man kan trycka på enter knappen.

<input type='submit'>

Vad göra med den snutten för att inte den konstiga knappen/bilden kommer upp?

SaschMedlem sedan nov. 2002830 inlägg
#2

Du måste ha en omslutande "<form>" kring hela formuläret.

<td>
<form>
...
<div><input type='submit'></div>
</form>
</td>
MatsakiiMedlem sedan mars 2005265 inlägg
#3

Ja det har jag. Bara det att det är så mycket kod emellan så jag ville inte lägga in all kod i tråden.

ejickMedlem sedan mars 2001895 inlägg
#4

<input type="submit" value="Vad som ska stå på knappen" />
alt.
<button type="submit">Vad som ska stå på knappen</button>

Eller vad är det du menar?

MatsakiiMedlem sedan mars 2005265 inlägg
#5

Som jag skrev:

"Vad göra med den snutten för att inte den konstiga knappen/bilden kommer upp?"

Alltså det kommer upp en knapp som inte ska komma upp.

SaschMedlem sedan nov. 2002830 inlägg
#6

Hm, försöker du ersätta den med en bild?

<input type="image" src="image.gif" height="" width="" border="" alt="" />

Vill du själv definera vad det ska stå på knappen så byter du bara dess värde i value:

<input type="submit" value="" />
ejickMedlem sedan mars 2001895 inlägg
#7
<td>
<a href="/m_forgotPsw.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('glomtlosen','','/images/knappar/knapp_glom
tlosen_on.gif',1)"><img src="/images/knappar/knapp_glomtlosen_off.gif" 
alt="Gl&ouml;mt ditt l&ouml;senord?" id="glomtlosen" width="100" height="15" border="0"></a>
<div style='position: absolute; left: -200; top: 0;'><input type='submit'></div>
</td>

Här anger du att du vill ha en <input type="submit" />.

Är det en knapp som ändrar utseende vid onMouseOver du vill uppnå? I så fall skulle jag använda något liknande: http://cssbutton.com/forms/

Vet inte om det är bästa lösningen, finns en uppsjö olika. Men <button type="submit"></button> tror jag är rätt början i ditt fall alternativt <input type="submit" /> där du sedan ändrar utseende med css.

MatsakiiMedlem sedan mars 2005265 inlägg
#8

Nej jag lyckas inte förklara mig bra nog så jag postar hela koden. Jag har redan en rollover submit knapp som fungerar bra. Men man ska inte behöva klicka på den utan bara skriva in namn och lösenord och sen trycka "Enter" knappen med. Det funkar i tex. Safari men inte i Firefox. Och lägger jag till "<input type="submit" />" som jag förklarade i mitt första inlägg så kommer EN TILL knapp upp, längst upp i hörnet på sidan. Här kan ni se hela sidan med: https://www.ayianapa.nu och här är koden till inloggnings formuläret utan kodsnutten som lägger till extra knappen. Hoppas jag lyckats förklara mitt problem nu :)

<? if (isset($Ayia_UserName)) $strLoginName = $Ayia_UserName; ?>
<table cellpadding="0" cellspacing="0" class="left_box">
<tr>
<td><img height="15" src="/images/box_top_loggain.gif" width="116" alt="Logga in" /></td>
</tr>
<tr>
<td valign="top" class='loginbox'>
<form method="post" name="formLoginForm" id="formLoginForm" action="<? echo $_SERVER['PHP_SELF'] . fnGetParameters(); ?>&amp;blnLoginForm=true" target="_top">
<table width="105" align="center">
            <tr>
                <td>
<?
$strLoginError = (isset($_REQUEST['strLoginError'])) ? $_REQUEST['strLoginError'] : NULL;
if ($strLoginError == "nosuchuser") print "<br?>
<font color='#FF0000'>Användaren hittades ej. Försök 
igen.</font><br /><br />"; 
else if ($strLoginError == "invalidpass") print "<br />
<font color='#FF0000'>Felaktigt lösenord</font><br />
<br />"; $strLoginName = (isset($_COOKIE['last_login_username'])) ? $_COOKIE['last_login_username'] : NULL;
?>

<img height="7" src="/images/txt_namn.gif" width="35" alt="empty" />
    <input maxLength="40" type="text" name="strLoginName" size="11" value="<? echo $strLoginName; ?>" />
</td>
</tr>
<tr>
<td><img height="7" src="/images/txt_losenord.gif" width="55" alt="lösenord" /> <input maxlength="16" type="password" name="strLoginPass" size="11" /></td>
</tr>
<tr>
<td style="padding-top: 6px;"><a href="javascript:document.formLoginForm.submit();" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('logga_in','','/images/knappar/knapp_loggain_on.gif',1)"><img src="/images/knappar/knapp_loggain_off.gif" alt="Logga in" id="logga_in" width="100" height="15" border="0" /></a></td>
</tr>
<tr>
<td><a href="/m_join.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('bli_medlem','','/images/knappar/knapp_blimedlem_on.gif',1)"><img src="/images/knappar/knapp_blimedlem_off.gif" alt="Bli medlem" id="bli_medlem" width="100" height="15" border="0" /></a></td>
</tr>
<tr>
<td>
    <a href="/m_forgotPsw.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('glomtlosen','','/images/knappar/knapp_glomtlosen_on.gif',1)"><img src="/images/knappar/knapp_glomtlosen_off.gif" alt="Glömt ditt lösenordsenord?" id="glomtlosen" width="100" height="15" border="0"></a>
    <div style='position: absolute; left: -200; top: 0;'></div>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
ejickMedlem sedan mars 2001895 inlägg
#9

Ok, men anledningen till att det inte fungerar, vad jag förstår det som, är att din "submit" är en vanlig länk och ingen knapp. Det är alltså <a href="#"> istället för <input type="submit" />

Jag förstår problemet men är tyvärr inte 100% säker. Sökte lite på Google och hittade lite intressanta saker. Kanske är det detta du söker: http://www.htmlcodetutorial.com/forms/index_famsupp_157.html

annars kan du göra denna lösning:
http://manfred.dschini.org/2007/09/20/submit-form-on-enter-key/
alltså helt enkelt använder en <input> men gör den osynlig:

<input type="submit" style="width:0px;height:0px;border:none">

Dock vet jag inte om jag rekommenderar den lösningen.

Lycka till!

MatsakiiMedlem sedan mars 2005265 inlägg
#10

Nu förstår ni mitt problen iaf. :) Den lilla kodsnutten fungerar tyvärr inte i Safari. Det kommer fortfarande en liten prick uppe i hörnet. Läste det i tråden med.

Gällande javascriptet. Skulle jag verkligen skriva koden så här då:

<FORM ACTION="<? echo $strLoginName; ?>" />
name:     <INPUT NAME=realname SIZE=15><BR>
password: <INPUT NAME=password TYPE=PASSWORD SIZE=10
           onKeyPress="return submitenter(this,event)"><BR>
<INPUT TYPE=SUBMIT VALUE="Log In">
</FORM>

Eller hur ska jag hantera php koden value="<? echo $strLoginName; ?>" />

Jag är förvånad att detta ska vara ett sådant stort problem för att få det att fungera i alla browsers!

ejickMedlem sedan mars 2001895 inlägg
#11

Det beror ju på hur det ser ut i dagsläget, i originalutförande. Koden är ju rätt snurrig så det är inte så lätt att luska ut vad som ska stå var, men resultatet ska bli:

<form method="post" name="formLoginForm" id="formLoginForm" action="/index.php?x=x&amp;blnLoginForm=true" target="_top">

vad du har för variabelnamn i php kan jag inte se.

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