铬上的铁形问题

时间:2016-12-10 14:14:40

标签: javascript polymer iron-form

我正在尝试使用铁形式,但我无法在Chrome上访问该表单的非原生元素。

<dom-module id="e404-view">
    <template>
        <style>
            :host {
                display: block;

                padding: 10px 20px;
            }

        </style>

        <form id="step1Form" is="iron-form">
            <input>
            <paper-input></paper-input>
        </form>

        You hit a 404. <a href="/home">Head back to home</a>
    </template>

    <script>
        Polymer({
            is: 'e404-view',

            ready: function () {
                var form = this.$.step1Form;
//                console.log(form.elements);
                for (var el, i = 0; el = form.elements[i], i < form.elements.length; i++) {
                    console.log(el);
                }
            }
        });
    </script>
</dom-module>

这是一个包含表单的简单视图。当我遍历Chrome上的form.elements时,数组中只有一个输入。但是这个例子在Firefox上完全正常。

我正在构建一个应用程序,奇怪的是,当我在不同的项目中使用相同的视图时,一切正常。我认为应用程序中存在一些冲突或类似的东西。此视图通过应用程序中的铁页显示。但是我不确定为什么它适用于Firefox。

我似乎无法找出错误的内容,任何建议或提示都会受到赞赏。如果我不能解决这个错误,我可能会删除表单并自行处理验证。

提前致谢,Jan

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。问题是由位于index.html中的全局Polymer设置引起的。

这是有问题的部分:

    window.Polymer = {
        dom: 'shadow',
        lazyRegister: true
    };

当我评论dom:'shadow'设置时,一切都开始工作了。