Avatar billede mskjoldp Novice
06. marts 2005 - 02:53 Der er 3 kommentarer og
1 løsning

kan du se en fejl her?

<script type="text/javascript">
<!-- Scriptet herunder skaber den funktion der gør det muligt at markere en kolonne lodret -->
var activeCols = new Array();
  function markerKolonne(tdElm,color) {
      var tdId = tdElm.id;
      var num = parseInt(tdId.split(".")[1]);
      if (activeCols[num]) {
            setKolonneFarver(num,"");
            activeCols[num] = false;
            return;
      }
      setKolonneFarver(num,color);
      activeCols[num] = true;
  }
  function setKolonneFarver(num,color) {
      var i = 1;
      while (document.getElementById(i+"."+num)) {
            elm = document.getElementById(i+"."+num);
            elm.style.backgroundColor = color;
            i++;
      }
  }
</script>
Avatar billede olebole Juniormester
06. marts 2005 - 08:14 #1
<ole>

Ja, det er en fejl, du ikke forklarer, hvorfor du spørger.

Spørger du, fordi du får en fejl - i så fald hvilken?
Spørger du, fordi der er noget, der ikke virker - i så fald, hvad?
Spørger du, fordi du bare vil lege 'Find Fem Imaginære Fejl'?

/mvh
</bole>
Avatar billede mskjoldp Novice
06. marts 2005 - 11:54 #2
sry olebole, du har ret .. jeg har skrevet for lidt.

IIS5.0/ASP/Javascript/

Jeg har en funktion på en anden side, hvor man kan markere en kolonne lodret. Dvs at farven ændres ved klik teksten på den øverste celle i kolonnen. Det virker fint på den anden side, men jeg kan ikke få det til at virke på den nye side.

Forskellen fra en nye og den gamle side er, at jeg har komprimeret ASP meget i på den nye side. Hvilket er godt. I den gl ASP kode skrev jeg i hver enkel <td> hvad der skulle til at få kolonnemarkeringen til at virke. I den ny ASP kode, gør jeg brug af:
for i = 0 to ubound(Overskrift2)
tal1 = tal1 + 1

for at få de rigtige tal frem i kolonnerne.

På den nye side udskriver jeg de <td id="tal.tal"> der der skabes af den nye kode, og det giver det samme output som den gamle kode, men "Der opstod en fejl på siden" skrives i statusbaren med et gult trekantet ! logo.

Som sagt så får jeg de rigtig tal placeret i de rigtige kolonner... tror jeg.. kan du hælpe mig :)?

Så hvad kan være galt? Jeg har prøvet copy/past af den tidligere javascript kode for at sikre at den er den samme kode jeg bruger.

javascript koden ser således ud og er placeret i default.asp som altid loades:
<script type="text/javascript">
<!-- Scriptet herunder skaber den funktion der gør det muligt at markere en kolonne lodret -->
var activeCols = new Array();
  function markerKolonne(tdElm,color) {
      var tdId = tdElm.id;
      var num = parseInt(tdId.split(".")[1]);
      if (activeCols[num]) {
            setKolonneFarver(num,"");
            activeCols[num] = false;
            return;
      }
      setKolonneFarver(num,color);
      activeCols[num] = true;
  }
  function setKolonneFarver(num,color) {
      var i = 1;
      while (document.getElementById(i+"."+num)) {
            elm = document.getElementById(i+"."+num);
            elm.style.backgroundColor = color;
            i++;
      }
  }
</script>

den kode der så skal benytte funktionerne ser således ud og er placeret i den asp side der skaber designet. Det er af tre omgange talene skabes. 1. ved første række, 2. ved anden række og 3. ved den løkke der løber gennem rs. :
1.:
<tr>
<% for i = 0 to ubound(Overskrift2)
tal1 = tal1 + 1%>
<td id="1.<%=tal1%>" onClick="markerkolonne(this,'#99CCCC');" class="lodret">
<%=Overskrift2(i)&"1."&tal1%>
</td>
<% next %>
</tr>

2.:
<tr>
<% for i = 0 to ubound(Overskrift2)
tal2 = tal2 + 1%>
<td id="2.<%=tal2%>" align="center" nowrap height="18px"><%="2."&tal2%><a href="default.asp?mode=visstatus&orderby=<%=Indhold2(i)%>&sort=<%=IsSort(Indhold2(i))%>"><img src="gfx/i.p.sort.<%=IsSort(Indhold2(i))%>.gif" border="0"></a></td>
<% next %>
</tr>

3.:
<%
j = 3
If Not rs.EOF Then
Do while not rs.EOF%>
<tr>
<%    tal3 = 0
For i = 0 to ubound(Indhold2)
tal3 = tal3 + 1%>
<td id="<%=j&"."&tal3%>" bgcolor="#F4F4DC" nowrap <%=popup2(rs("B_" & Indhold2(i)),rs("MOC_stelnr"),rs("MOC_status"))%> onClick="doEdit(<%=rs("MOCid")%>);" height="17px"><%=rs(Indhold2(i))%><%=j&"."&tal3%></td>
<%
Next
%>
</tr><%
j = j + 1
rs.MoveNext
Loop%>
Avatar billede mskjoldp Novice
06. marts 2005 - 13:35 #3
på en anden computer for jeg yderligere denne fejl:

Der opstod en fejl under kørslen.
Vil du søge efter fejlen?

Linje: 293
Fejl: Et objekt var ventet
Avatar billede mskjoldp Novice
06. marts 2005 - 13:45 #4
Gud vide hvad der var galt...

men jeg kopierede denne linje ind fra den gl kode:

onclick="markerKolonne(this,'#99CCCC');"

Det jeg selv havde skrevet i den nye kode var dette:

onClick="markerkolonne(this,'#99CCCC');"

Det ser ud til at være koden var case sensitiv...

Problemet er løst...
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