Avatar billede mio Nybegynder
09. marts 2003 - 19:04 Der er 6 kommentarer og
1 løsning

Egen højremenu

Hej

Se på http://doc.bmit.dk/test.asp

Jeg har lavet sådan at når man højreklikker på en table-row, får man en menu frem. Jeg vil gerne have at den øverføre værdien af <tr id="xxx1"> til denne menu, men jeg kan ikke lige se hvordan..

Siden følger også her:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="/wiz.css">

<STYLE>
.menuItem {font-family:tahoma, sans-serif;font-size:10pt;width:120;padding-left:10;
  background-Color:menu;color:black}
.highlightItem {font-family:tahoma, sans-serif;font-size:10pt;width:120;padding-left:10;
  background-Color:highlight;color:white}
.clickableSpan {padding:4;width:500;background-Color:blue;color:white;border:5px gray solid}
</STYLE>

<SCRIPT type="text/javascript">

function displayMenu(CB) {

    var e = CB.tagName;
    var x = CB.className;
    whichDiv=event.srcElement;
    menu1.style.leftPos+=0;
    menu1.style.posLeft=event.clientX;
    menu1.style.posTop=event.clientY - 0;
    menu1.style.display="";
    menu1.setCapture();

}

function switchMenu() { 
  el=event.srcElement;
  if (el.className=="menuItem") {
      el.className="highlightItem";
  } else if (el.className=="highlightItem") {
      el.className="menuItem";
  }
}
function clickMenu() {

  menu1.releaseCapture();
  menu1.style.display="none";
  el=event.srcElement;
  if (el.id=="mnuHist") {
      window.open('http://doc.bmit.dk/test.asp?menu=Hist&id=');
  } else if (el.id=="mnuEdit") {
      window.open('http://doc.bmit.dk/test.asp?menu=Edit&id=');
  } else if (el.id=="mnuUpdate") {
    window.open('http://doc.bmit.dk/test.asp?menu=Update&id='); 
  } else if (el.id=="mnuRead") {
      window.open('http://doc.bmit.dk/test.asp?menu=Read&id=');
  }
}

//-->
</SCRIPT>
<script language="jscript">

    function check_form(name) {

    var test = name.id;
    var e = name.tagName;
    var x = name.className;

        if ((e != 'INPUT')) {
   
            if (x=='H') {
                name.className = '';
            }
            if (x=='') {
                name.className = 'H';
            }
        }
    }

</script>

</head>
<title>TEST</title>
<body>

<table width="80%" align="center" border="1">

<tr oncontextmenu="displayMenu(this); return false;" id="tr-nr-1" OnClick="check_form(this);" >
<td width="25%"><font color=black>test</font></td>
<td width="25%"><font color=black>test2</font></td>
<td width="25%">&nbsp;</td>
<td width="25%">&nbsp;</td>
</tr>

<tr oncontextmenu="displayMenu(this); return false;" id="tr-nr-2" OnClick="check_form(this);">
<td width="25%"><font color=black>test3</font></td>
<td width="25%"><font color=black>test4</font></td>
<td width="25%">&nbsp;</td>
<td width="25%">&nbsp;</td>
</tr>

</table>
<div id=menu1 onclick="clickMenu()" onmouseover="switchMenu()" onmouseout="switchMenu()" style="position:absolute;display:none;width:128;background-Color:menu; border: outset 2px black">
<div style="background: #C4D7E6; width: 129px; border-bottom: 1px solid black;" onMouseover="" OnMouseOut="" class="menuItem" id=nothing><b>DOKUMENTMENU</b></div>
<div style="width: 129px; border-bottom: 1px solid #cccccc" class="menuItem" id=mnuEdit><img src="/images/refresh_icon.gif">&nbsp;&nbsp;Rediger </div>
<div style="width: 129px; border-bottom: 1px solid #cccccc" class="menuItem" id=mnuUpdate><img src="/images/refresh_icon.gif">&nbsp;&nbsp;Opdater</div>
<div style="width: 129px; border-bottom: 1px solid #cccccc" class="menuItem" id=mnuDelete><img src="/images/refresh_icon.gif">&nbsp;&nbsp;Slet</div>
<div style="width: 129px; border-bottom: 1px solid #cccccc" class="menuItem" id=mnuHist><img src="/images/refresh_icon.gif">&nbsp;&nbsp;Historik</div>
<div style="width: 129px; border-bottom: 1px solid #cccccc" class="menuItem" id=mnuRead><img src="/images/refresh_icon.gif">&nbsp;&nbsp;Læs</div>
</div>

</body></html>
Avatar billede mio Nybegynder
09. marts 2003 - 19:07 #1
Den skal overføre værdien (id'en) fra <tr> til funktionen clickMenu() således window.open('xxx.asp?id=') får den værdi.
Avatar billede Slettet bruger
09. marts 2003 - 19:10 #2
JavaScript kan ikke arbejde med dine divs ordentligt, hvis deres id indeholder andet end bogstaver, tal og underscore (de må heller ikke starte med et tal).
Avatar billede atoft Nybegynder
09. marts 2003 - 19:11 #3
Kan du ikke bare i displayMenu skive CB.id eller hvortil mener du den skal overføres?
Avatar billede mio Nybegynder
09. marts 2003 - 19:14 #4
atoft>> Jo, men den vil ikke overføre id'en til clickMenu(). Det er clickMenu() der laver window.open...

phoenixv >> Hvor er mine divs forkerte ??
Avatar billede atoft Nybegynder
09. marts 2003 - 19:19 #5
Du kunne i din display menu gøre indsætte følgende:

clickMenu.rowId = CB.id;

også kunne du i din clickMenu.

hente værdi ved at skrive:

var id = clickMenu.RowId;
Avatar billede mio Nybegynder
09. marts 2003 - 19:27 #6
atoft > Dejligt.... Det virkede.... siden er opdateret... Txk... Mangler et svar :)
Avatar billede atoft Nybegynder
09. marts 2003 - 19:56 #7
OK
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