为什么IE9不能正确显示javascript元素,除非"开发者工具"打开了吗?

时间:2015-03-17 19:33:04

标签: javascript html internet-explorer flask jinja2

我正在处理一个表单,该表单会显示一个SelectField(id ='数据库')并且仅当选中了复选框(id =' alternate')时(使用javascript)将显示SelectField(id =' alt_databases')。此代码适用于Chrome / Firefox,但仅在我打开"开发人员工具"时才能在IE9中使用。代码基于flask,jinja2和javascript。有没有人对此提出建议?我确定它是IE特定的问题。

形式:

<form method='post'>
    {{ form.hidden_tag() }}
    {{ form.alternate.label }}<br>
    {{ form.alternate }}
    <table class='center' style='margin-left:auto;margin-right:auto;width:70%'>
        <tr>
            <td class='media-left' style='display:none;'>
                {{ form.alt_databases.label }}<br>
                {{ form.alt_databases(size=20) }}<br>
            </td>
            <td class='media-right'>
                {{ form.databases.label }}<br>
                {{ form.databases(size=20) }}<br>
            </td>
        </tr>
    </table><br>
    <p>{{ form.submit }}</p>
</form>

使用Javascript:

(function () {
    var el = document.getElementById('alternate'),
        source = document.getElementById('alt_databases');
        target = document.getElementById('databases');

    el.addEventListener('change', function() {
        if (el.checked) {
            source.parentNode.style.display = 'block';
        } else {
            source.parentNode.style.display = 'none';
        }
    });
})();

0 个答案:

没有答案