Avatar billede soth Nybegynder
19. marts 2003 - 12:41 Der er 18 kommentarer og
1 løsning

Reload af side efter submit i en form.

Det drejer sig om at jeg har lavet et indkøbssystem hvor at man kan søge efter varer og når man får resultaterne frem, er det i et table hvori der er en submit-knap så man kan købe varen.
Problemet består i at jeg har lavet et link til indkøbskurven og når man så har købt en vare, så bliver dette link en anden farve. Men den skifter først farve når man reloader siden og den skulle ændre farve så snart man har lavet sin submit.
Jeg har allerede en onclick som ser ud som følger:
onclick="with (document.forms['t<?php echo $Row[varenr]; ?>']) { if (stk.value < 1) alert('Køb skal være på min
imum 1 stk.'); else submit(); }"
Kan man tilføje noget på min onclick så det automatisk reloader siden når man laver en submit?

Håber der er nogen der kan hjælpe.
Avatar billede schaefner Juniormester
19. marts 2003 - 12:58 #1
Du kan vel tilføje dette i den funktion du kalder:
self.location.reload(true);

Det er lidt svært at hjælpe når der ikke er mere kode :)
Avatar billede olebole Juniormester
19. marts 2003 - 15:36 #2
<ole>

En side med en form reloader da, når man submitter formen  :)

/mvh
</bole>
Avatar billede soth Nybegynder
19. marts 2003 - 15:50 #3
Den laver fint nok en reload både med og uden self.location.reload(true);, men problemet er nok at den skal lave en refresh af siden så svarer til shift+F5.
Avatar billede olebole Juniormester
19. marts 2003 - 16:27 #4
Nej, problemet er nok din kode  :)
location.reload(true) tager den udenom cashen
Avatar billede soth Nybegynder
19. marts 2003 - 17:54 #5
Tak olebole, det virker med den nye kode du skrev men det har bare lavet et andet problem for man kan ikke refreshe siden uden at sige ok til at "resending the information" da der jo er et table med data i på siden.
Det er faktisk på den fil jeg laver en ?php require på som jeg skal have lavet en refresh på og den hedder Shared.php. Kan jeg lave en refresh på min require-side uden at man får en dialogboks op hvor man skal trykke okay? :)
Avatar billede olebole Juniormester
19. marts 2003 - 18:10 #6
Prøv at sætte en unik query-streng på formen:

<form action="din_side.php?unik=<?=time()?>">
Avatar billede soth Nybegynder
19. marts 2003 - 18:17 #7
Det ændrer desværre ikke noget at lave en unik query-streng på formen. :(
Avatar billede olebole Juniormester
19. marts 2003 - 18:21 #8
_Det_ lyder mere end mærkeligt ...!
Avatar billede olebole Juniormester
19. marts 2003 - 18:22 #9
Hvis ikke det virker, virker det heller ikke at skrive location.reload(true)  :)
Avatar billede olebole Juniormester
19. marts 2003 - 18:24 #10
Men det kommer selvfølgelig an på, hvordan du har lavet resten af koden  :)
Avatar billede soth Nybegynder
19. marts 2003 - 18:24 #11
Det er jo ikke så godt....så er jeg på herrens mark. :/
Avatar billede soth Nybegynder
19. marts 2003 - 18:28 #12
Det virkede jo faktisk med location.reload(true), men det gjorde at man fik den famøse dialogboks om at resending the informaiton og det er jo ikke lige sagen. :)
Avatar billede olebole Juniormester
19. marts 2003 - 18:38 #13
Ja .... derfor er jeg ret sikker på, du laver farveændringen på en uhensigtsmæssig måde
Avatar billede soth Nybegynder
19. marts 2003 - 18:42 #14
Jeg laver den på følgende måde:
<?php
$DB_Link = mysql_pconnect("localhost", "user");
mysql_select_db("db");

$sql = "select kurv_id from indkobskurv where kurv_id ='$session'";
$res = mysql_query($sql);
$num = mysql_num_rows($res);
if($num > 0)
echo "<font color='red'>Visa Inköpskorg</font>";
else
echo "Visa Inköpskorg";
?>

Den kigger så bare i den base der indeholder indkøbskurven og ser om den $session der er på siden, har tilføjet noget til databasen. Der er sikkert en nemmere og bedre måde at gøre det på, men det var den eneste måde jeg kunne finde ud af det på. ;)
Avatar billede olebole Juniormester
19. marts 2003 - 18:46 #15
Jamen, det har den vel så ikke på det tidspunkt  :)
Der sker vel noget i koden før det ... eller?
Avatar billede soth Nybegynder
19. marts 2003 - 18:54 #16
Når man laver en submit, så smider koden den pågældende vare og antal ned i indkøbskurv-databasen med brugerens $session som unik id. Så er det at jeg gerne vil have den til at markere linket til indkøbskurven rødt så snart der er noget i kurven. Men den bliver først rød når man enten trykker på submit igen eller går hen på en anden side på sitet.
Håber du forstår noget af hvad jeg skriver. ;)
Avatar billede olebole Juniormester
19. marts 2003 - 19:12 #17
Ja, men jeg tror ikke, du forstår, hvad jeg skriver  :)

Din vare er ikke i indkøbsvognen endnu, når du spørger, om den er der. Der må være noget galt i kronologien.
Avatar billede soth Nybegynder
20. marts 2003 - 10:53 #18
Jeg har fået løst problemet med lidt javascript i stedet, men du fik mig rettet ind på rette spor med det med kronologien så hvis du laver et svar kan jeg give dig 30 point. ;)
Avatar billede olebole Juniormester
24. marts 2003 - 02:38 #19
swaaaaar  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester