monoy suronoy
monoy suronoy

Reputation: 911

how to implements addEventListener in iron form polymer

How to implements addEventListener in iron form polymer?

i already following this guide : iron-form

and this is my code :

<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>

my form id 'eventsDemo' not defined, why?

Uncaught ReferenceError: eventsDemo is not defined

Upvotes: 1

Views: 597

Answers (1)

tony19
tony19

Reputation: 138226

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.

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');

Upvotes: 1

Related Questions