Как отобразить имена всех элементов управления (текстовые поля и выпадающие списки), которые пусты на моей странице

#javascript #asp.net

#javascript #asp.net

Вопрос:

Я получаю сообщение о сбое проверки, если какой-либо из моих элементов управления пуст, но я бы хотел отобразить имена элементов управления, которые являются пустыми. Эти элементы управления динамически создаются на странице. Ниже приведен код, который я использую сейчас

    function validateinput() {
      var arrTextBox = document.getElementsByTagName("input");
      var ddlTextBox = document.getElementsByTagName("select");
      var retVal = 1;
      for (i = 0; i < arrTextBox.length; i  ) {
          if (arrTextBox[i].type == "text" amp;amp; arrTextBox[i].getAttribute("IsMandatory") == "Y" amp;amp; arrTextBox[i].value == ""){
              retVal = 0;
          }
      }

      for (j = 0; j < ddlTextBox.length; j  ) {
          if (ddlTextBox[j].getAttribute("IsMandatory") == "Y" amp;amp; ddlTextBox[j].value == "") {
          retVal = 0;
          }
      }

      if (retVal == 0) {
          alert("Validation Failed");
          return false;
      }
      else {
          alert("Validation Success");
          return true;
      }

  }
  

Ответ №1:

Хорошо, я вижу из комментариев, что вам нужна более конкретная помощь. Попробуйте это:

функция validateinput() { var emptySelects = «; var emptyTextboxes = «; var arrTextBox = document.getElementsByTagName(«ввод»); var ddlTextBox = document.getElementsByTagName(«выбор»); var retVal = 1; для (i = 0; i < artextbox.length; i ) { if (arrTextBox[i].type == «текст» amp;amp; arrTextBox[i].getAttribute(«Обязательный») == «Y» amp;amp; arrTextBox[i].value == «»){ retVal = 0; emptyTextboxes = ‘ ‘ arrTextBox[i].name; } }

   for (j = 0; j < ddlTextBox.length; j  ) {
      if (ddlTextBox[j].getAttribute("IsMandatory") == "Y" amp;amp; ddlTextBox[j].value == "") {
      retVal = 0;
      emptySelects  = ' '   ddlTextBox[j].name;
      }
  }

  if (retVal == 0) {
      alert("Validation Failed");
      if (emptyTextboxes != '') alert('The following textboxes are empty:'   emptyTextboxes);
      if (emptySelects != '') alert('The following selections are empty:'   emptySelects);
      return false;
  }
  else {
      alert("Validation Success");
      return true;
  }
  

}

Комментарии:

1. Да, я пытался this..it не отображает имена всех элементов управления в окне предупреждения .. для каждого элемента управления, который пуст, отображается отдельное предупреждающее сообщение… Я хочу что-то вроде этого предупреждения («Следующие текстовые поля пусты», name1, name2 и т.д.)

2. Итак, объедините строку и проверьте в конце, если retval = 0, затем предупредите строку.

3. if (arrTextBox[i].type == «text» amp;amp; arrTextBox[i].getAttribute(«IsMandatory») == «Y» amp;amp; arrTextBox[i].value == «»){ retVal = 0; var completestring = новый массив(); completestring = arrTextBox[i].name; alert(completestring); var temp = новый массив (); temp = completestring.split(‘ ‘); alert (temp); Я пробовал это таким образом … но никуда не денусь