[js / css] <tr> verdwijnen door onclick met checkbox

Pagina: 1
Acties:

  • henkbiertank
  • Registratie: April 2006
  • Laatst online: 02-12-2025
Ik doe iets fout, maar wat? De error console van FF geeft het volgende aan:
Error: document.forms.formContent.elements.publicationDate has no properties

De bedoeling is dat door middel van het aanvinken van een checkbox er 2 table rows verdwijnen of verschijnen.

Nu heb ik al van alles geprobeerd en ook opgezocht...
o.a. gathering.tweakers.net

Maar daar kon ik niks vinden over dit probleem

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function showPublicationDate() {
    if(document.forms['formContent'].elements['publicationDate'].value == 'show') {
        var displayValue = '';
    } else {
        var displayValue = 'none';
    }
    
    document.getElementById['publicationUp'].style.display = displayValue;
    document.getElementById['publicationDown'].style.display = displayValue;

    return true;
}

HTML:
1
2
3
4
5
6
<tr>
    <td><label for="publicationDate">beperkte publicatie</label></td>
    <td><input type="checkbox" id="doPublishDate" value="1" style="margin-bottom: -1px;" onclick="showPublicationDate();" /></td>
</tr>

<tr id="publicationUp" style="display: ;">


Wie zou mij willen helpen? Na een aantal uurtjes zelf klooien ben ik er wel klaar mee... :?

Als je dit leest, verdoe je je tijd


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 12:42

MBV

geef eens je gestripte site ergens, dan kan ik met de DOM-inspector etc debuggen :)

  • henkbiertank
  • Registratie: April 2006
  • Laatst online: 02-12-2025
voor het gemak, maar ff op mijn website gezet.

Als je dit leest, verdoe je je tijd


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 10:32
Je spreekt getElementById aan alsof het een array is, maar het is een functie.
Gebruik ronde haken, geen blokhaken.

  • henkbiertank
  • Registratie: April 2006
  • Laatst online: 02-12-2025
Opgelost.

ik heb <input type="checkbox" /> aangeroepen door de name-attribute en niet door de id-attribute. Dat geldt ook voor de form tag.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function showPublicationDate() {
    if(document.formContent.doPublishDate.checked) {
        var displayValue = '';
    } else {
        var displayValue = 'none';
    }
    
    document.getElementById('publicationUp').style.display = displayValue;
    document.getElementById('publicationDown').style.display = displayValue;

    return true;
}


Ik dacht dat het op beide manieren kon, maar zo werkt het in ieder geval :P .

PS: de website (rolfdenhartog.nl/test) is weer weg..

En bedankt he!
Ik zal zelf ook maar eens kijken bij een topic om te kijken of ik iets kan betekenen _/-\o_

[ Voor 55% gewijzigd door henkbiertank op 12-10-2006 23:43 ]

Als je dit leest, verdoe je je tijd


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Persoonlijk zou ik gebruik maken van het 'this' keyword:
HTML:
1
<input type="checkbox" onclick="showPublicationDate(this);">

JavaScript:
1
2
3
4
5
6
7
function showPublicationDate(checkbox)
{
    var displayValue = checkbox.checked ? '' : 'none';
    
    document.getElementById('publicationUp').style.display = displayValue;
    document.getElementById('publicationDown').style.display = displayValue;
}

;)

Intentionally left blank

Pagina: 1