Avatar billede pitzen Nybegynder
14. september 2006 - 10:19 Der er 9 kommentarer og
1 løsning

Form spørsmål

Hej!

Jeg har denne form i et rating system:

<form action='includes/rating.php?id=<? echo $id ?>' method='post' name='rating' id='rating'>
Giv billedet karakter (5 er højest):<br>
<select name='rating'>
<option value='5' selected>5</option>
<option value='4'>4</option>
<option value='3'>3</option>
<option value='2'>2</option>
<option value='1'>1</option>
</select>
<input name='<? echo $id ?>' type='hidden' id='<? echo $id ?>' value='<? echo $id ?>'>
<input name='cmd' type='hidden' id='cmd' value='do _rating'>
<input type='submit' name='Submit' value='Stem!'>
</form>

Jeg vil nu gerne have en lignende form, hvor man kun kan stemme "Hot" (value skal være 5) eller "Not" (value skal være 0).. Det skal ikke være en dropdown, men derimod bare to knapper. Eller endnu bedre; to tekst-links.

Der skal her ikke være nogen submit knap, men tekst-linksne selv er submit's..

Håber i kan forstå mit problem.

Mvh. Morten!
Avatar billede coderdk Praktikant
14. september 2006 - 10:24 #1
I din form skal

<input name='<? echo $id ?>' type='hidden' id='<? echo $id ?>' value='<? echo $id ?>'>

nok være:

<input name='id' type='hidden' id='id<? echo $id ?>' value='<? echo $id ?>'>

Men til dig spørgsmål! Hvorfor vil du have tekstlinks? Det kan man godt, men to knapper er da lige så godt? :)

<form method="post" action="hotornot.php">
  <input type="hidden" name="what" value="">
  <a href="XXXXX.php" onclick="this.form.what.value='hot'; this.form.submit(); return false">HOT!</a> or
  <a href="XXXXX.php" onclick="this.form.what.value='not'; this.form.submit(); return false">NOT!</a>
</form>

XXXXX.php skal så være en side der fortæller brugeren at han skal have javascript slået til!
Avatar billede coderdk Praktikant
14. september 2006 - 10:24 #2
Mangler naturligvis et hidden field med en ID af en slags :)
Avatar billede pitzen Nybegynder
14. september 2006 - 21:06 #3
Jeg kan ikke helt forstå at bruge dit script.. jeg forstår ikke hva XXXX.php gør af gavn... Kan man ikke undgår at linke til en anden side?

<form method='post' action='rating.php'>
<input type='hidden' name='rating' value=''>
<img src='graphics/up.gif' border='0'>
<a href='XXXXX.php' onclick='this.form.rating.value=\"5\"; this.form.submit(); return false'>HOT!</a> |
<a href='XXXXX.php' onclick='this.form.rating.value=\"0\"; this.form.submit(); return false'>NOT!</a>
<img src='graphics/down.gif' border='0'>
</form>

Som du kan se har jeg rettet lidt.. Jeg skal bare have sendt value til rating.php, så burde den klarer resten.. Men hvordan får jeg linksne til at virke som submits?

Forresten, når jeg laver det som en <form> kommer der en masse plads under, som om jeg har indsat en <br> eller noget. Kan det undgås?
Avatar billede coderdk Praktikant
14. september 2006 - 22:11 #4
Hvis brugeren har javascript slået fra, så kommer han hen på XXXXX.php som så skal fortælle ham at han skal have javascript slået til - Jeg skrev XXXXX så du selv kunne vælge et navn :)

Linkene virker ikke fordi jeg lavede en fejl :) Her er en tilrettet udgave:

<form method='post' id="frm" action='rating.php'>
<input type='hidden' name='rating' id="rating" value=''>
<img src='graphics/up.gif' border='0'>
<a href='XXXXX.php' onclick='document.getElementById("rating").value="5"; document.getElementById("frm").submit(); return false'>HOT!</a> |
<a href='XXXXX.php' onclick='document.getElementById("rating").value="0"; document.getElementById("frm").submit(); return false'>NOT!</a>
<img src='graphics/down.gif' border='0'>
</form>
Avatar billede pitzen Nybegynder
19. september 2006 - 20:14 #5
Hej igen..

Nu har jeg rodet en del med scriptet.. Jeg har stadig problemer.. Min form ser således ud nu:

<form method='post' action='includes/rating_link.php?id=$id' name='rating$id' id='rating$id' style='margin:0px;'>
<input type='hidden' name='rating_set' id='rating_set' value=''>
<img src='graphics/up.gif' border='0'>
<a href='XXXXX.php' onclick='document.getElementById(\"rating_set\").value=\"5\"; document.getElementById(\"rating$id\").submit(); return false'>Hot!</a> |
<a href='XXXXX.php' onclick='document.getElementById(\"rating_set\").value=\"0\"; document.getElementById(\"rating$id\").submit(); return false'>Not!</a>
<img src='graphics/down.gif' border='0'>
<input name='$id' type='hidden' id='$id' value='$id'>
<input name='cmd' type='hidden' id='cmd' value='do _rating'>
</form>

Hvis du kigger på siden her: http://humorfreak.dk/2/linkdump.php

Vælger du enter "hot" eller "not" for det øverste link, kommer der en side frem, som bekræfter at stemmen er modtaget.. Desuden bliver den nye og gamle rating udskrevet.

Hvis man derimod vælger et hvilket som helst andet link, vil der på "konklusionssiden" ikke fremkomme nogen "rating" altså hverken 5 eller 0, som jo var meningen. Måske ligger problemet hos rating_link.php!?

http://humorfreak.dk/rating_link.txt

Håber du kan hjælpe :D
Avatar billede coderdk Praktikant
19. september 2006 - 22:52 #6
Jeg er ikke med - Hot- og Not-linkene virker på den øverste, men andre links virker ikke?
Jeg prøvede nummer 2, og den lod da også til at blive registreret?
Avatar billede pitzen Nybegynder
20. september 2006 - 10:57 #7
Nummer to virker ikke..

Hvis du klikker på "hot" ved øverste link, står der - på konklusionsiden - "rating: 5"

Hvis du klikker på "hot" ved et af de øvrige links, står der - på konklusionsiden - "rating:  "

Stemmen bliver afgivet, men ratingen er blank, så den faktisk kommer til at tælle som en 0-stemme, altså en "not-stemme".
Avatar billede pitzen Nybegynder
26. september 2006 - 12:00 #8
Jeg fik på mystisk vis opklaret det.. ved ik hvordan.. smid et svar!

1000 tak for hjælpen!
Avatar billede coderdk Praktikant
26. september 2006 - 16:58 #9
heheh ok :-D jeg havde sgu helt glemt dette spm :\
Avatar billede coderdk Praktikant
26. september 2006 - 16:58 #10
Hov! Svar! :)
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