Avatar billede grafik-anders Mester
17. juli 2011 - 14:08 Der er 13 kommentarer og
1 løsning

Hvordan laver jeg en knap med en funktion?

Hej

Jeg forsøger at lave en knap, som kan slette et indlæg på en hjemmeside, men hvordan får jeg startet den if-sætning, som skal afgøre om betingelserne for at få indlægget slettet er til stede?

Jeg har lavet en sætning, som hedder:

<a href="java script:;" onMouseOver="MM_swapImage('<?=$comment['id']?>','','../public_html/images/icon_delete(red).gif',1)" onMouseOut="MM_swapImgRestore()"><img src="../public_html/images/icon_delete.gif" name=<?=$comment['id']?> width="10" height="10" border="0" id=<?=$comment['id']?> ></a>

Ikonet får altså et navn, som er identisk med kommentarens id-nummer. Når man trykker på ikonet, vil jeg gerne have siden genindlæst og en variabel sat til et eller andet, så jeg på den genindlæste side kan bede om et password, som betingelse for, at indlægget bliver slettet.

Hvordan får jeg siden genindlæst og ændret en variabel, når man trykker på ikonet?

Er det noget med:
onClick="MM_goToURL('parent','#');return document.MM_returnValue"
?


Mvh.
Anders
Avatar billede greew Nybegynder
17. juli 2011 - 15:07 #1
Hej Anders,

Jeg er ikke helt med på hvad du ønsker?
Er det selve if-sætningen, du skal have hjælp til? Hvor skal den sætning være?
Og hvad med din onclick -hvad er det mere specifikt, du skal bruge deri?

/Jesper
Avatar billede jakobdo Ekspert
17. juli 2011 - 15:38 #2
Er det fordi du har planer om at lave noget smart ajax halløj, siden du laver det med noget image swap osv?
For ellers kunne du jo blot nøjes med:

<a href="delete_entry.php?id=COMMENT_ID">Slet indlæg</a>
Avatar billede grafik-anders Mester
17. juli 2011 - 18:37 #3
Det er fordi jeg henter kommentarerne fra en database og derfor skal jeg gøre det dynamisk. I kan måske bedre forstå, hvad jeg har gang i, når i kigger på denne her side:

http://www.shape.dk/develop.php

Der er intet smart over det - det er bare mig, som forsøger at lære at programmer, så jeg ikke er så afhængig af andre for at få mine ideer ført ud i livet ;)

Det er de små kryds ude i hjørnerne, som volder mig problemer - og de skrifter ikke farve i iexplorer, men kun i firefox??

Jeg tror, at jeg kan selv, når jeg kommer til if-sætningen, men hvordan kommer jeg der til?

Mvh.
Anders
Avatar billede olsensweb.dk Ekspert
17. juli 2011 - 19:13 #4
Det er de små kryds ude i hjørnerne, som volder mig problemer - og de skrifter ikke farve i iexplorer, men kun i firefox??

hvis noget ikke virker ens i forskellige browsere, start med at validerer din side, en ikke valid side skal browseren fortolke, og gætte på betydning, af ikke valide ting, hvorimod en valid side er lige til at vise. Når en side først er valid kan man begynde at tage hensyn til browsere særheder
html http://validator.w3.org/check?uri=http%3A%2F%2Fwww.shape.dk%2Fdevelop.php&charset=%28detect+automatically%29&doctype=Inline&group=0
css  http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.shape.dk%2Fdevelop.php&profile=css21&usermedium=all&warning=1&vextwarning=&lang=en
Avatar billede grafik-anders Mester
17. juli 2011 - 21:51 #5
Ok, - jeg har nu gennemskuet, at jeg nok har været lidt på galt spor. Jeg skal vist denne vej - ikke?

                                <form name="delete" method="post" action="http://www.shape.dk/delete-comment.php">
                                  <input name="deleteCommentId" type="image" src="images/icon_delete.gif" alt="Submit Form" width="10" height="10" border="0" value="<?=$comment['id']?>">
                                </form>

Men jeg har ikke gennemskuet, hvordan man så laver roll-over på dem?
Avatar billede jakobdo Ekspert
17. juli 2011 - 21:56 #6
Nej, det er sgu for besværligt... :o)
Du skal beholde din roll-over funktion på et simpelt billede.
Men ud over det, så laver du et link, som så kalder:

delete.php?comment=COMMENT_ID
Avatar billede jakobdo Ekspert
17. juli 2011 - 21:57 #7
Og det må være noget ala:

<a href="delete_comment.php?comment=<?=$comment['id']?>" onMouseOver="MM_swapImage('../public_html/images/icon_delete(red).gif',1)" onMouseOut="MM_swapImgRestore()"><img src="../public_html/images/icon_delete.gif" width="10" height="10" border="0"></a>

Dog har jeg ikke styr på din swapImage ting, men det håber jeg du har.
Avatar billede grafik-anders Mester
17. juli 2011 - 22:53 #8
Tak for det - det ser ud til at gå den rigtige vej med min kode, men hvordan henter jeg værdien af $comment['id'] ind i delete_comment.php?

Noget med:

$currentFile = $_SERVER["PHP_SELF"];
preg_match("/\?.+$/", $currentFile, $commentId);

Er der en bedre måde?

Jeg har stadig lidt bøvl med min rollover i iexplorer og ved ikke, hvad jeg skal gøre ved det :(

Koden ser sådan ud (lige nu):
<a href="delete_comment.php?comment=<?=$comment['id']?>"><img src="images/icon_delete.gif" name="<?=$comment['id']?>" width="10" height="10" border="0" id="Image1" onMouseOver="MM_swapImage('<?=$comment['id']?>','','images/icon_delete(red).gif',1)" onMouseOut="MM_swapImgRestore()"></a>
Avatar billede jakobdo Ekspert
18. juli 2011 - 06:51 #9
Nej, du kan trække id ud via:

$_GET['comment']

Hvis du brugte mit tidligere eksempel.
Avatar billede grafik-anders Mester
18. juli 2011 - 08:23 #10
Smart og send gerne et svar!

Kan man overføre flere variabler på den måde eller kun én?
Avatar billede jakobdo Ekspert
18. juli 2011 - 08:49 #11
Du kan overføre lige så mange du vil.. (dog mener jeg urls ikke kan være længere end 1024, men kan tage fejl)

Du får et svar.
Avatar billede grafik-anders Mester
18. juli 2011 - 16:12 #12
Tak for hjælpen!

ps:
Jeg har lige fundet en meget bedre måde at lave rollover på. Jeg bruger CSS og koden bliver derfor som følger:

<a id="delete" href="http://www.shape.dk/delete-comment.php?commentId=<?=$comment['id']?>"></a>

CSS'en er:

#delete
  {
    display: block;
    width: 10px;
    height: 10px;
    background: url("images/icon_delete.gif") no-repeat 0 0;

  }

  #delete:hover
  {
    background: url("images/icon_delete(red).gif") no-repeat 0 0;
  }
Avatar billede grafik-anders Mester
20. juli 2011 - 08:11 #13
points
Avatar billede jakobdo Ekspert
24. juli 2011 - 16:19 #14
Takker for point.
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