Amarilis2007
@Amarilis2007

Очистка полей формы?

<form action="" name="sss">
  <input name="aaa" value="qqq"><hr>
  <input name="bbb" value="www"><hr>
  <input name="ccc" value="eee"><hr>
</form>


Так очищает поля, которые есть в массиве

var form = document.forms.sss,
        elms = form.querySelectorAll('input');
    var skipElms = ['bbb','aaa'];

    elms.forEach(function (el) {
        skipElms.forEach(function (skipElm) {
            if (el.name !== skipElm) return;
            el.value = '';
        });
    });


А надо чтоб очищались поля, которых нет в массиве, но код ниже не работает(((

var form = document.forms.sss,
        elms = form.querySelectorAll('input');
    var skipElms = ['bbb','aaa'];

    elms.forEach(function (el) {
        skipElms.forEach(function (skipElm) {
            if (el.name === skipElm) return;
            el.value = '';
        });
    });


Подскажите - где я ошибся?
  • Вопрос задан
  • 176 просмотров
Решения вопроса 1
@balamyt92
; select * from users; --
var form = document.forms.sss,
  elms = form.querySelectorAll('input'),
  skipElms = ['bbb', 'aaa'];

elms.forEach(function(el) {
  var skipThis = false;
  skipElms.forEach(function(name) {
    if (el.name === name) {
      skipThis = true;
      return;
    }
  });
  if (!skipThis) {
    el.value = '';
  }
});

Надеюсь ты разберешься в чем была твоя ошибка.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Stepanya
el.attr('name') !== skipElm
Ответ написан
@tstpmz
Дай id каждому из полей, типо вот так:
<form action="" name="sss">
  <input id="aaa" value="qqq"><hr>
  <input id="bbb" value="www"><hr>
  <input id="ccc" value="eee"><hr>
</form>


А потом можешь либо делать getElementById для очищать нужные поля, либо просто юзани jquery - $("#aaa").val("");
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы