webForumDet fria alternativet

form-php med layers

PHPur PHP

4 svar · 415 visningar · startad av virre

Medlem sedan jan. 200219 inlägg
Frågan#1

Jag har en sida som består enbart av Layers (gl med netscape :D)

I denna sida har jag ett formulär, där man kan fylla i 3 rullistor. När man valt klickar man på submit, så att informationen sparas. Sedan ska man kunna klicka på en annan knapp, så att man kommer vidare (ett nytt layer) där det står vad man valt.

Problemet är att när man klickar på submit knappen, så kommer man tillbaka till första layeret (som om man laddar om hela sidan), alltså det layer man är på göms (det är hidden först). Hur löser jag detta problem?

Medlem sedan feb. 20001 050 inlägg
#2

Alt 1: När sidan laddas, kolla (med PHP!) om variablerna som sätts i ditt "form" är satta och i så fall generara din "layer"-kod med ditt lager "visible".

Alt 2: Spara en "cookie" där du håller reda på vilket lager som är öppet! Cookien sätter du enklast med Javascript i en "onClick()" på submit-knappen.

/nicclas

Medlem sedan jan. 200219 inlägg
#3

ok, du får jätte gärna visa hur man gör då jag är relativt ny på php :)

Medlem sedan feb. 20001 050 inlägg
#4

Ja, då jag inte vet hur din sida ser ut så kan jag bara visa principen (enligt alt 1):

<html>
<body>
<? 
if(strlen($data)>0)
  $visa="visible";
else 
  $visa="hidden";
echo $visa;
?>
<br>

<div id="div1" style="position:absolute; left: 89px; top: 148px; visibility: <? echo $visa;?>"> 
<table border="2" cellspacing="0" cellpadding="0">
<tr>
<td>
TEST-LAGER!<br>
</td>
</tr>
</table>
</div>

<form action="<? echo $PHP_SELF; ?>" method="post"> 
<input type="text" name="data" size=30><br>
<input type="Submit" name="submit" value="Skicka">

</body>
</html>

Finna på http://cr.st/a.php Skriv in något och skicka så visas ett lager när sidan laddats om.

Naturligtvis får du nu anpassa detta så att det blir som du vill ha det, på din sida.

/nicclas

[Redigerat av nicclas den 30 jan 2002]

Medlem sedan jan. 200219 inlägg
#5

hm ok.. sidan är ganska komplicerad så jag orkar inte förklara nu, men efter att jag skrivit in det där så det borde funka, så blir alla layers visible från början! jag har 3 layers på varandra. 1 är synligt från början, det 2:a blir synligt när man klickar på en länk, derifrån ska ett 3:e bli synligt efter att man fyllt i informationen. MEN alla blir synliga från början , fast det 2:a har "hidden" som attribut och det 3:e har <.. visibility: <? echo $visa;?>">

php är dymmt..

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