Avatar billede learner Praktikant
08. december 2004 - 16:50 Der er 12 kommentarer og
1 løsning

virker ikke i mozilla firefox

Hej, jeg har en tabel hvor jeg udskriver linier og jeg har lavet således at man kan fjerne linier med javascript. Jeg har brugt at skrive:

<tr style='display:block;' id='descclose18'>

og så ændrer sscriptet block til NONE og linien forsvinder.

MEN mozilla freaker helt ud og går helt i kage når jeg bruger det :o(

Hvad kan jeg stille op?
Har du et forslag?

Ikke <DIV> :o)

Har ik så mange point :o( sorry
Avatar billede learner Praktikant
08. december 2004 - 17:06 #1
Her er det i enmeget simpel udgave. Det fungerer fint i explorer men ikke i mozilla.

<script type="text/javascript">
function showhideinfo(objToShowOrHide,TheChkbox){
    var obj = false;
    if(document.getElementById){obj=document.getElementById(objToShowOrHide);}
    else if(document.all){obj=document.all[objToShowOrHide];}
    else if(document.layers){obj=eval("document." + objToShowOrHide);}
    if(obj){
        if(TheChkbox.checked){
            obj.style.display="none";
        } else {
            obj.style.display="block";
        }
    }
}
</script>
<table width="98%" border="1" bordercolor="#333366" cellspacing="0" cellpadding="1">
    <tr>
        <td class="littlesmaller" align="center" width="20"></td>
        <td class="littlesmaller" width="20" align="center">xxx</td>
        <td class="littlesmaller"><input name="hide_those_i_have_seen" type="checkbox" value="ja"  onclick="showhideinfo('descclose18',this);"><strong>Hide those I have seen</strong></td>
        <td class="littlesmaller">xxx xxxxxxx</td>
        <td class="littlesmaller" align="center" width="34">xxx xxxxxxx</td>
        <td class="littlesmaller" align="center" width="35">xxx xxx xxx</td>
        <td class="littlesmaller" align="center" width="40">xxxxx xxxxxx</td>
    </tr>
    <tr style='display:block;' id='descclose18'>
        <td valign="middle" align="center"></td>
        <td valign="middle" align="center"></td>
        <td>BLAAAAA BLAAAAA</td>
        <td>BLAAAAA BLAAAAA</td>
        <td align="center"></td>
        <td align="center" valign="middle"></td>
        <td align="center" valign="middle"></td>
    </tr>
    <tr style='display:block;' id='descclose16'>
        <td valign="middle" align="center"></td>
        <td valign="middle" align="center"></td>
        <td>BLAAAAA BLAAAAA</td>
        <td>BLAAAAA BLAAAAA</td>
        <td align="center"></td>
        <td align="center" valign="middle"></td>
        <td align="center" valign="middle"></td>
    </tr>
</table>
Avatar billede baitianlong Nybegynder
08. december 2004 - 18:54 #2
Det har jeg også haft probmener med. Løsningen er at putte et <div> tag ind i <td>'et:

<tr>
<td>
<div style='display:block;' id='descclose18'>
<table>
<tr>
  <td valign="middle" align="center"></td>
  <td valign="middle" align="center"></td>
  <td>BLAAAAA BLAAAAA</td>
  <td>BLAAAAA BLAAAAA</td>
  <td align="center"></td>
  <td align="center" valign="middle"></td>
  <td align="center" valign="middle"></td>
</tr>
</table>
</div>
</td>
</tr>

Så skal det lige passes til, men det virker i alle browsere :)
Avatar billede learner Praktikant
08. december 2004 - 19:06 #3
Ja, jeg kender det trick med div.
Men så bliver det bare så rodet at kigge på.

En linie i mit eksempel er fra <tr> til </tr> så den skal se sådan ud hvis det skal virke.

<tr>
<td>
<table>
<div style='display:block;' id='descclose18'>
  <tr>
  <td valign="middle" align="center"></td>
  <td valign="middle" align="center"></td>
  <td>BLAAAAA BLAAAAA</td>
  <td>BLAAAAA BLAAAAA</td>
  <td align="center"></td>
  <td align="center" valign="middle"></td>
  <td align="center" valign="middle"></td>
  </tr>
</div>
</table>
</td>
</tr>

Jeg prøver det lige men jeg tror ikke det virker
Avatar billede learner Praktikant
08. december 2004 - 19:07 #4
det virker ikke...

her er det jeg har prøvet:
<table width="98%" border="1" bordercolor="#333366" cellspacing="0" cellpadding="1">
    <tr>
        <td class="littlesmaller" align="center" width="20"></td>
        <td class="littlesmaller" width="20" align="center">xxx</td>
        <td class="littlesmaller"><input name="hide_those_i_have_seen" type="checkbox" value="ja"  onclick="showhideinfo('descclose18',this);"><strong>Hide those I have seen</strong></td>
        <td class="littlesmaller">xxx xxxxxxx</td>
        <td class="littlesmaller" align="center" width="34">xxx xxxxxxx</td>
        <td class="littlesmaller" align="center" width="35">xxx xxx xxx</td>
        <td class="littlesmaller" align="center" width="40">xxxxx xxxxxx</td>
    </tr>
    <div>
        <tr style='display:block;' id='descclose18'>
            <td valign="middle" align="center"></td>
            <td valign="middle" align="center"></td>
            <td>BLAAAAA BLAAAAA</td>
            <td>BLAAAAA BLAAAAA</td>
            <td align="center"></td>
            <td align="center" valign="middle"></td>
            <td align="center" valign="middle"></td>
        </tr>
    </div>
    <div style='display:block;' id='descclose16'>
        <tr>
            <td valign="middle" align="center"></td>
            <td valign="middle" align="center"></td>
            <td>BLAAAAA BLAAAAA</td>
            <td>BLAAAAA BLAAAAA</td>
            <td align="center"></td>
            <td align="center" valign="middle"></td>
            <td align="center" valign="middle"></td>
        </tr>
    </div>
</table>
Avatar billede baitianlong Nybegynder
08. december 2004 - 19:19 #5
Det skal se ud som det jeg har skrevet. Det er ikke det samme som du har skrevet nogen af stederne...

<tr>
<td>
<div>
<table>
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
</table>
</div>
</td>
</tr>

Og DET VIRKER...
Avatar billede learner Praktikant
08. december 2004 - 19:24 #6
Ja, det ved jeg godt, men linierne har ikke hvert sit table.

Hver linie er fra <tr> til </tr>

ikke fra <table> til </table>

hvis det var fra <table> til </table> så kan du bare skrive <table style='display:block;' id='descclose16'>
Det virker os og er lidt lettere...

Har du andre forslag
Avatar billede baitianlong Nybegynder
08. december 2004 - 19:35 #7
Næ, men andre forslag er heller ikke nødvendige!
Avatar billede learner Praktikant
08. december 2004 - 19:38 #8
jo, det er! For det duer ikke! Ikke som det skal!

Hermed lukket!

Tak
Avatar billede olebole Juniormester
08. december 2004 - 22:58 #9
<ole>

Du skriver bare dårlig kode ... men da du åbenbart ikke _vil_ have en løsning på problemet, så må du jo forblive ude i mørket  :)

/mvh
</bole>
Avatar billede learner Praktikant
09. december 2004 - 07:40 #10
<ole> Du skriver bare dårlig kode :
Tak, jeg er nu meget godt tilfreds, i forhold til at jeg er ret ny i det.
Så længe det virker og brugeren er tilfreds, så er jeg tilfreds!

Og jeg ER inde i lyset :o) ikke ude i mørket...
Det er bare et andet lys :o)

Hvordan ville du da skrive koden?
Du må gerne uddybe din kritik bare en lille smule

Tak
Avatar billede learner Praktikant
09. december 2004 - 07:51 #11
er dette bedre?

<script type="text/javascript">
function showhideinfo(objToShowOrHide,TheChkbox){
    obj=document.getElementById(objToShowOrHide);
    if(TheChkbox.checked){
        obj.style.display="none";
    } else {
        obj.style.display="block";
    }
}
</script>
<table width="98%" border="1" bordercolor="#333366" cellspacing="0" cellpadding="1">
    <tr>
        <td width="20" align="center"></td>
        <td width="20" align="center">xxx</td>
        <td><input type="checkbox" onclick="showhideinfo('descclose18',this);">Hide</td>
        <td>xxx</td>
        <td align="center" width="34">xxx</td>
        <td align="center" width="35">xxx</td>
    </tr>
    <tr style='display:block;' id='descclose18'>
        <td></td>
        <td></td>
        <td>BLAAAAA</td>
        <td>BLAAAAA</td>
        <td></td>
        <td></td>
    </tr>
    <tr style='display:block;' id='descclose16'>
        <td></td>
        <td></td>
        <td>BLAAAAA</td>
        <td>BLAAAAA</td>
        <td></td>
        <td></td>
    </tr>
    <tr style='display:block;' id='descclose20'>
        <td></td>
        <td></td>
        <td>BLAAAAA</td>
        <td>BLAAAAA</td>
        <td></td>
        <td></td>
    </tr>
</table>
Avatar billede learner Praktikant
09. december 2004 - 08:39 #12
okay jeg må gi mig. det kan godt gøres med div.

Problemet var at få cellevæggene til at stå ens.
Men det har jeg løst med at sætte en width="40%" i den ene <td>
På den måde er det kun én td der ikke har defineret sin width.
Og så virker det :o) (næsten som det skal)

jeg har gjort det således:

<table width="98%" border="1" bordercolor="#333366" cellspacing="0" cellpadding="1">
    <tr>
        <td width="20" align="center">x</td>
        <td width="20" align="center">xxx</td>
        <td width="40%"><input type="checkbox" onclick="showhideinfo('descclose16',this);">Hide</td>
        <td>xxx</td>
        <td align="center" width="34">xxx</td>
        <td align="center" width="35">xxx</td>
    </tr>
</table>
<div style='display:block;' id='descclose18'>
    <table width="98%" border="1" bordercolor="#333366" cellspacing="0" cellpadding="1">
        <tr>
            <td width="20" align="center">x</td>
            <td width="20">x</td>
            <td width="40%">BLAAAAA</td>
            <td>BLAAAAA ddd</td>
            <td width="34">x</td>
            <td width="35">x</td>
        </tr>
    </table>
</div>

Så ok, det kan godt lade sig gøre...

sorry legende.dk
Avatar billede learner Praktikant
09. december 2004 - 12:02 #13
Og så dog :o) det duede ikke for det var umuligt at få cellevæggene til at følges ad. Æv!

Men så fandt jeg løsningen her:
http://forums.devshed.com/archive/t-130791

Et lille script som skifter mellem 'display:block' og 'display:table-row' alt efter browseren. og det var netop løsningen.
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