Avatar billede DMO Novice
05. januar 2016 - 15:41 Der er 5 kommentarer og
1 løsning

onclick - show hide

TypeError: document.getElementById(...) is null
hvad gør jeg forkert her?


<h3 onclick='showTable("<%=objProd("ProductNumber")%>");' id='open<%=objProd("ProductNumber")%>'><%=objProd("ProductNumber")%></h3>
<h3 onclick='hideTable("<%=objProd("ProductNumber")%>");' id='close<%=objProd("ProductNumber")%>' class='closed'><%=objProd("ProductNumber")%></h3>

<%
response.write "<table class='prodtable' id='tabel"&objProd2("ProductTitel")&"'>"
%>

<script language="javascript" type="text/javascript">
  function showTable(prodnumber) {
    //$("#tabel" + prodnumber).show();
    //$("#close" + prodnumber).show();
    //$("#open" + prodnumber).hide();
    //$("#tabel" + prodnumber).css("display", "block");
    //$("#close" + prodnumber).css("display", "block");
    //$("#open" + prodnumber).css("display", "none");
    document.getElementById("tabel" + prodnumber).style.display = "block";
    document.getElementById("close" + prodnumber).style.display = "block";
    document.getElementById("open" + prodnumber).style.display = "none";
  }
  function hideTable(prodnumber) {
    //$("#tabel" + prodnumber).hide();
    //$("#close" + prodnumber).hide();
    //$("#open" + prodnumber).show();
    //$("#tabel" + prodnumber).css("display", "none");
    //$("#close" + prodnumber).css("display", "none");
    //$("#open" + prodnumber).css("display", "block");
    document.getElementById("tabel" + prodnumber).style.display = "none";
    document.getElementById("close" + prodnumber).style.display = "none";
    document.getElementById("open" + prodnumber).style.display = "block";
  }
</script>
Avatar billede tryltryl Juniormester
05. januar 2016 - 16:40 #1
Der er noget med ProductNumber vs ProductTitel
Avatar billede jakobdo Ekspert
05. januar 2016 - 16:59 #2
Svært at gætte på, når du viser din kode og ikke det rent faktisk output.
Avatar billede Rune1983 Ekspert
06. januar 2016 - 07:36 #3
Hvad med at komme en div omkring din table og vis/skjul den. Se nedenfor. Anvender selv noget i stil med det.

utestet
////////////////
////////////////
<script>
function VisTable(){
    var showTable = document.getElementById("showTable");
    showTable.style.display = "block";
};
function SkjulTable(){
    var showTable = document.getElementById("showTable");
    showTable.style.display = "none";
};
</script>
<div id="showTable">
Din tabel her
</div>
Avatar billede DMO Novice
07. januar 2016 - 09:25 #4
.... ja det var sandelig det der var galt og hvorfor jeg ikke selv så det ved jeg ikke, men jeg kunne vel ligeså godt have været blind til det resten af livet, tak tryltryl

jakobdo
siden javascripted fejler, så giver den ingen output? udover alt andet html der ikke er javascript
jeg brugte udviklingsværktøj til at se denne fejl:
TypeError: document.getElementById(...) is null

Rune1983
har sat det på en <tr> i stedet da tabellen ligger i en anden tabel, virker fint nok.?
Avatar billede Rune1983 Ekspert
08. januar 2016 - 08:51 #5
Måske dit <tr> fungere fint.

Jeg erfare show/hide på table, tr og td kan drille. Er begyndt at anvende DIV meget mere.

Har også et script liggende der viser/skjuler alle tags med et bestemt class navn. Måske det kan anvendes i din situation.

<script type="text/javascript">
    function Skjul(){
        var hiddeninputs = document.getElementsByClassName("EmnerDerVisesSkjules");
       
        for(var i=0;i!=hiddeninputs.length;i++){
            hiddeninputs[i].style.display = "none";
        }
    }
    function Vis(){
        var hiddeninputs = document.getElementsByClassName("EmnerDerVisesSkjules");
       
        for(var i=0;i!=hiddeninputs.length;i++){
            hiddeninputs[i].style.display = "block";
        }
    }
</script>
Avatar billede DMO Novice
20. april 2016 - 09:39 #6
Lukker!
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

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