javascript Hide/show div on checkbox: checked/unchecked

前端 未结 4 1622
我寻月下人不归
我寻月下人不归 2020-12-19 19:24

I am trying to make a function in javascript, that will hide / show particular div in my registration form, depending on the state of my checkbox (checked or not). Here is

相关标签:
4条回答
  • 2020-12-19 19:43

    You are correct in using display: none; to hide your DIV initially.

    As for your checkbox, try removing the spaces between getELementById and ('powermail_field...

    Also you need to change:

    } else {elem.display:none;}
    

    to:

    } else {elem.display = 'none';}
    
    0 讨论(0)
  • 2020-12-19 19:45

    You could use

    var elem = document.getElementById('powermail_fieldwrap_331');
    document.getElementById('powermail_field_doruovaciaadresa2_1').onchange = function() {
        elem.style.display = this.checked ? 'block' : 'none';
    };
    

    Demo


    If you want to hide it by default, you could use #powermail_fieldwrap_331{display:none;}. But if you want to be sure, better use

    var elem = document.getElementById('powermail_fieldwrap_331'),
        checkBox = document.getElementById('powermail_field_doruovaciaadresa2_1');
    checkBox.checked = false;
    checkBox.onchange = function doruc() {
        elem.style.display = this.checked ? 'block' : 'none';
    };
    checkBox.onchange();
    

    Demo

    0 讨论(0)
  • 2020-12-19 19:49

    You should write it like this :

    function doruc() {
    var elem = document.getElementById('powermail_fieldwrap_331');
        if (document.getElementById ('powermail_field_doruovaciaadresa2_1').checked) {
        elem.style.display='block';
        } else {elem.style.display='none';}}
    

    and regarding your second question, you can either write in the div tag style="display:none" or you can do as you said (add a class for the element).

    0 讨论(0)
  • 2020-12-19 19:59

    Try this:

    elem.style.display='block'
    
    0 讨论(0)
提交回复
热议问题