我正在尝试使用铁形式,但我无法在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
答案 0 :(得分:1)
我找到了解决方案。问题是由位于index.html中的全局Polymer设置引起的。
这是有问题的部分:
window.Polymer = {
dom: 'shadow',
lazyRegister: true
};
当我评论dom:'shadow'设置时,一切都开始工作了。