В момент события у вас this
это input[type=submit]
, потому что на нем вист onClick
. Когда на this
добавляется класс он все правильно добавляется только не на поля, а на кнопку. По-этому inp[i].classList.add('err')
более правильный вариант.
Второй момент. По нажатию на кнопку форма отправляется т.к. submit
отправляет форму на сервер. Есть несколько вариантов как исправить:
1. Повесить обработчик onSubmit
на форму. Либо делать return false
после всех манипуляций, либо вызывать event.preventDefault()
2. В данном примере можно просто после for
возвращать return false