02. september 2004 - 11:02Der er
13 kommentarer og 2 løsninger
bøvl med gåseøjne i if-confirm sætning
Jeg har følgende:
_____________________
$overskrift = urldecode($myrow[1]); //den kommer fra en db der er urlencode()
<A href="prioriter.php?id=<?php echo $id.'&oversigtvalgt='.$tabel; ?>" onClick="if(confirm('Vil du forfremme dette indlæg til sidste nye nyhed: \n<?php echo $overskrift ;?> ?'))this.href='prioriter.php?id=<?php echo $id.'&oversigtvalgt='.$tabel; ?>'; else this.href='#'">Prioritér</A> _____________________
Det virker ok lige indtil at at der ' eller " i $overskrift... Jeg har virkelig prøvet alt men den bliver ved med at fejle der:-( Er der ikke nogen der har en god løsning på det problem? (med udgangs punkt i ovenstående
$ overskrift er allerede urlencoded og de b liver urldecoded inden det bliver echoet. Finten er vel at der i sætningen onClick=-->"<--if(confirm(-->'<--Vil du forfremme dette indlæg til sidste nye nyhed: \n<?php echo $overskrift ;?> ?-->'<--))
Allerede er både ' og " præsenteret så når den kommer til endnu en " eller ' tror den at stengen slutter...
Prøv at erstatte indre 'er og ""er med hhv. \49 og \42, som er oktal-værdierne for tegnene og javascriptsk, for en event-handler er jo skrevet i javascript !-)
roenving you've done it again - og tak for hurtig assistance! dennismp gjorde det forståeligt for mig. Kan i dele pointene?
jeg har lagt lidt ekstra i
SVARET: <A href="prioriter.php?id=<?php echo $id.'&oversigtvalgt='.$tabel; ?>" onClick="if(confirm('Vil du forfremme dette indlæg til sidste nye nyhed: \n<?php echo strtr($overskrift,array('\''=>'\\47','"'=>'\\42')) ;?> ?'))this.href='prioriter.php?id=<?php echo $id.'&oversigtvalgt='.$tabel; ?>'; else this.href='#'">Prioritér</A>
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.