Avatar billede web-geek Nybegynder
18. september 2004 - 01:06 Der er 7 kommentarer og
1 løsning

En simpel js-kode virker ikke i php.

Hejsa, jeg har lavet mig sådan et system, som skal vise en menu når man højreklikker på et billede, men den vil ikke rigtig fungér.


Fejlen ligger her, tror jeg:

echo "<TD id=" . $t . " valign='bottom' align='center' background='gfx/mand.gif' onmousedown='check()'><font size='1' face='Verdana'>$rowasd</TD>";

Men, her kan du se hele mit script.
- Ja, ved det er indviklet, men i kan vel se hvad det forstiller :)


<script>
parent.document.getElementById('chat').innerHTML = "<TABLE id='board'><?php $tiden = time() mysql_query("UPDATE chatbrugere SET timeout='$tiden' WHERE brugernavn='$_SESSION[brugernavn]'") or die(mysql_error()); for( $t = 1 ; $t < 36 ; $t++) { $sql = mysql_query("SELECT * FROM chatbrugere WHERE felt='" . $t . " AND rum = '$_GET[rum]''") or die(mysql_error()); $row = mysql_fetch_array($sql);$rowasd = $row[brugernavn];$num = mysql_num_rows($sql); if ($t % 7 == 1) { echo "<TR>"; }if ($num == "0") { echo "<TD id=" . $t . " background='gfx/none.gif'><a href='ryk.php?felt=" . $t . "&ryk=ja' target='script'><img src='gfx/none.gif' width='100%' height='100%'></a></TD>";} else { echo "<TD id=" . $t . " valign='bottom' align='center' background='gfx/mand.gif' onmousedown='check()'><font size='1' face='Verdana'>$rowasd</TD>"; } if ($t % 7 == 0) { echo "</TR>"; } } ?></TABLE>";

function loadet() {
setTimeout("location.reload(true)",2000);
}
document.onclick=function dummy() { showhide('hide'); };

function check()
{

var rightclick;

if (!e) var e = window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);

if (rightclick == true)    {
  showhide('show');
} else {
  showhide('hide');
}

}

function showhide(action)
{

var mp = document.getElementById('mypopup');
var ms = mp.style;

if (action == 'show') {
  document.oncontextmenu = function t() {return false};
  ms.display = '';
  ms.left = event.offsetX + 9;
  ms.top = event.offsetY + 53;
} else {
  ms.display = 'none';
}

}
</script>



<div id="mypopup" style="width: 100px; height: 100px; background-color: #999999; border: 1px solid #ff0000; position: absolute; display: none;" onclick="showhide('hide');"><a href="http://www.asdasdadasdascxa.dk">link</a><br>dette er noget tekst</div>
Avatar billede web-geek Nybegynder
18. september 2004 - 02:22 #1
Kan smide 150 point ind, hvis det er!
Avatar billede roenving Novice
18. september 2004 - 11:45 #2
Allerede i den første linje af scriptet ser der ud til at være fejl, får du ikke en parse-error fra din php-fortolker ?-)

<script type="text/javascript">
parent.document.getElementById('chat').innerHTML = "<TABLE id='board'><?php $tiden = time(); mysql_query("UPDATE ...

-- og så mangler parameteren e da i din funktion ?o]

function check(e){

var rightclick;

if (!e) var e = window.event;


-- og så ved jeg ikke om det er fejl, men i hvert fald overflødigt at angive en functionsnavn i funktiontildelinger, så de bør fjernes:

document.onclick=function() { showhide('hide'); };

  document.oncontextmenu = function() {return false};
Avatar billede web-geek Nybegynder
18. september 2004 - 12:17 #3
Nu vil den godt vise figuren igen, men den vil ikke få en menu frem.
Avatar billede web-geek Nybegynder
18. september 2004 - 13:48 #4
Ej, please hjælp mig! :)
Avatar billede web-geek Nybegynder
18. september 2004 - 19:20 #5
Læg svar roenving, det virker ikke men du fik den til og vise figuren ;)
Avatar billede roenving Novice
18. september 2004 - 19:31 #6
Oki '-)
Avatar billede roenving Novice
18. september 2004 - 19:33 #7
-- og tak for point ;~}
Avatar billede web-geek Nybegynder
18. september 2004 - 19:36 #8
Tjek mit nyeste spg! :D
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