Как реализовать 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');