это хороший вопрос.
Несколько вещей, которые я хотел бы выделить здесь ...
Прежде всего, давайте обновим некоторые основы, касающиеся спецификации HTML:
1) <button>
без атрибута type
будет действовать как type=submit
как атрибут по умолчанию, поэтому обе ваши кнопки отправят форму.
2) <button>
поддерживает type="reset"
, который сбросит все ваши поля в начальные значения (например, очистит их), и не отправит форму , поэтому для этого вообще не требуется код обработчика JS.
В целом, я бы порекомендовал внести некоторые корректировки в ваш HTML-код, относящиеся к блоку кнопок:
<button type="submit" class="btn btn--large btn--icon" id="saveDataSetButton">
<i class="fa-briefcase">Generate Pacing File</i>
</button>
<button type="reset" class="btn btn--large btn--icon" id="cancelDataSetButton">
<i class="fa-briefcase">Cancel</i>
</button>
Обратите внимание, что для cancelDataSetButton
код JS не требуется (для очистки поля), и вы можете удалить весь прослушиватель событий:
this.$.cancelDataSetButton.addEventListener('click', function() {
и т. д.
Некоторые ссылки, чтобы наверстать упущенное: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button