如何以铁形式聚合物实现addEventListener [英] how to implements addEventListener in iron form polymer

查看:59
本文介绍了如何以铁形式聚合物实现addEventListener的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何以聚合物形式实现addEventListener?

How to implements addEventListener in iron form polymer?

我已经遵守了本指南:铁型

i already following this guide : iron-form

这是我的代码:

<form is="iron-form" method="get" action="/" id="eventsDemo">
  <paper-input name="name" label="Name" required auto-validate></paper-input>
  <paper-input name="password" label="Password" type="password" required auto-validate></paper-input>
  <paper-checkbox name="read" required>You must check this box</paper-checkbox><br>
  <paper-button raised onclick="_delayedSubmit(event)" disabled id="eventsDemoSubmit">
  <paper-spinner id="spinner" hidden></paper-spinner>Submit</paper-button>
  <paper-button raised onclick="_reset(event)">Reset</paper-button>
  <div class="output"></div>
</form>
<script>
  eventsDemo.addEventListener('change', function(event) {
    // Validate the entire form to see if we should enable the `Submit` button.
    eventsDemoSubmit.disabled = !eventsDemo.validate();
  });
  function _delayedSubmit(event) {
    spinner.active = true;
    spinner.hidden = false;
    eventsDemoSubmit.disabled = true;
    // Simulate a slow server response.
    setTimeout(function() {
      Polymer.dom(event).localTarget.parentElement.submit();
    }, 1000);
  }
  function _reset(event) {
    var form = Polymer.dom(event).localTarget.parentElement
    form.reset();
    form.querySelector('.output').innerHTML = '';
  }
  document.getElementById('eventsDemo').addEventListener('iron-form-submit', function(event) {
    spinner.active = false;
    spinner.hidden = true;
    eventsDemoSubmit.disabled = false;
    this.querySelector('.output').innerHTML = JSON.stringify(event.detail);
  });
</script>

我的表单ID"eventsDemo"未定义,为什么?

my form id 'eventsDemo' not defined, why?

Uncaught ReferenceError: eventsDemo is not defined

推荐答案

eventsDemo变量尚未在您的JS中声明.我看到您有一个带有id="eventsDemo"的元素,但是不会自动声明要在<script>标记中使用的变量.

The eventsDemo variable is not yet declared in your JS. I see you have an element with id="eventsDemo", but that does not automatically declare a variable for use in the <script> tag.

要通过标识符获取元素,可以使用 document.getElementById document.querySelector <script>:

To fetch an element by its identifier, you could use either document.getElementById or document.querySelector in <script>:

var eventsDemo = document.getElementById('eventsDemo');
var eventsDemo = document.querySelector('#eventsDemo');

这篇关于如何以铁形式聚合物实现addEventListener的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆