0

几天来,我一直在寻找为什么我的聚合物元素的铁形式无法正常工作。当我想在提交时从纸质文本区域查看我的价值时,我不能,因为我的文件无法识别我的 id:feedbackForm。这是我的代码:

    <form is="iron-form" method="get" action="/" id="feedbackForm">
        <paper-textarea name="feedbacks" value="{{feedbackValue::input}}"
                        label="Explain your feedback - required" required></paper-textarea>
        <paper-checkbox name="read" required>You must check this box</paper-checkbox>
        <br>
        <paper-button class="custom indigo popup" type="submit" raised onclick="submitForm(event)"></iron-icon>
            Submit
        </paper-button>
        <div class="output"></div>
    </form>

这是我的脚本:

<script>

    function submitForm(event) {
        console.log('enfin');
        Polymer.dom(event).localTarget.parentElement.submit();
        console.log(Polymer.dom(event).localTarget.parentElement);
    }

    feedbackForm.addEventListener('iron-form-submit', function (event) {
        this.querySelector('.output').innerHTML = JSON.stringify(event.detail);
    });

    Polymer({
        is: 'at-feedback-panel',

    });


</script>

有人知道铁形态是怎么回事吗?当我尝试这个时,我的浏览器告诉我 feedbackForm 是未知的。

4

1 回答 1

1
  1. 尝试将“feedbackForm.addEventListener(... ”更改为“document.getElementById('feedbackForm').addEventListener(..”

事件监听器:

document.getElementById('feedbackForm').addEventListener('iron-form-submit', function (event) {
    this.querySelector('.output').innerHTML = JSON.stringify(event.detail);
});
  1. 当 HTML DOM 准备好时,应该调用事件监听器。所以,把你所有的script代码移到里面$(document).ready(function(){...})

好像:

<script>

$(document).ready(function({

  function submitForm(event) {
    console.log('enfin');
    Polymer.dom(event).localTarget.parentElement.submit();
    console.log(Polymer.dom(event).localTarget.parentElement);
  }

  document.getElementById('feedbackForm').addEventListener('iron-form-submit', function (event) {
    this.querySelector('.output').innerHTML = JSON.stringify(event.detail);
  });

  Polymer({
    is: 'at-feedback-panel',
  });

}));

于 2017-02-15T17:25:24.903 回答