Как реализовать addEventListener в железной форме полимера

Как реализовать addEventListener в железной форме полимера?

я уже следую этому руководству: 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>

мой идентификатор формы 'eventsDemo' не определен, почему?

Uncaught ReferenceError: eventsDemo is not defined

1 ответ

eventsDemo переменная еще не объявлена ​​в вашем JS. Я вижу, у вас есть элемент с id="eventsDemo", но это автоматически не объявляет переменную для использования в <script> тег.

Чтобы получить элемент по его идентификатору, вы можете использовать либо document.getElementById или же document.querySelector в <script>:

var eventsDemo = document.getElementById('eventsDemo');
var eventsDemo = document.querySelector('#eventsDemo');
Другие вопросы по тегам