Получение значений всех элементов управления

#c# #javascript #asp.net

#c# #javascript #asp.net

Вопрос:

я пытаюсь получить значения моих элементов управления следующим образом:

  function ConfirmWithUser() 
        {
            var nodeText = '';
            $('.mytreeview input[@type=checkbox]:checked').each(function() {
                nodeText  = $(this).next('a').text()   'r';


            });
            var confirmationMessage;
            confirmationMessage = "Please review the data before submitting:"   "r"
              "Sample Received Date: "   document.getElementById(received_dateTextbox).Value   "r"
              "Site of Ocurrence: "   document.getElementById(site_of_occurrenceTextBox).Value   "r"
              "Occurrence Date: "   document.getElementById(occurrence_dateTextBox).Value   "r"
              "Report Date: "   document.getElementById(report_byTextBox).Value   "r"
              "Specimen ID: "   document.getElementById(spec_idTextBox).Value   "r"
              "Batch ID: "   document.getElementById(batch_idTextBox).Value   "rn"
              "Report Initiated By: "   document.getElementById(report_byTextBox).Value   "rn"
              "Problem Identified By: "   $("input[@name=RadioButtonList1]:checked").val()   "rn"
              "Problem List: "   nodeText;

            HiddenFieldConfirmation.Value = confirmationMessage;

            if (confirm(document.getElementById('HiddenFieldConfirmation').value) == true)
            { return true; }
            else
            { return false; }
        }
  

и окно ПОДТВЕРЖДЕНИЯ вообще не запускается! я не получаю никаких всплывающих окон.

я попытался выполнить отладку с помощью Firefox, и как только он перейдет к этой строке:

 confirmationMessage = "Please review the data before submitting:"   "r"
                  "Sample Received Date: "   document.getElementById(re.......
  

он выходит из функции

что я делаю не так? как я могу получить значения всех элементов управления?

Ответ №1:

Вам нужно использовать строчную букву «v» для value и указывать идентификаторы ваших элементов. Например:

 document.getElementById("received_dateTextbox").value
  

Поскольку, похоже, вы уже используете jQuery, вы можете сделать свой код немного более кратким. Так document.getElementById("received_dateTextbox").value становится:

 $("#received_dateTextbox").val()
  

Ответ №2:

Нет переменной с именем spec_idTextBox .
Вероятно, вы хотите передать строковый литерал.

Как только вы это исправите, вам нужно использовать .value в нижнем регистре

Ответ №3:

Если вы используете динамические идентификаторы клиентов, вы должны отобразить идентификаторы встроенными или передать их в свою функцию:

  confirmationMessage = "Please review the data before submitting:"   "r"
              "Sample Received Date: "   document.getElementById('<% = received_dateTextbox.ClientID %>').value   "r"
              "Site of Ocurrence: "   document.getElementById('<% = site_of_occurrenceTextBox.ClientID %>').value   "r"
              "Occurrence Date: "   document.getElementById('<% = occurrence_dateTextBox.ClientID %>').value   "r"
              "Report Date: "   document.getElementById('<% = report_byTextBox.ClientID %>').value   "r"
              "Specimen ID: "   document.getElementById('<% = spec_idTextBox.ClientID %>').value   "r"
              "Batch ID: "   document.getElementById('<% = batch_idTextBox.ClientID %>').value   "rn"
              "Report Initiated By: "   document.getElementById('<% = report_byTextBox.ClientID %>').value   "rn"
              "Problem Identified By: "   $("input[@name=RadioButtonList1]:checked").val()   "rn"
              "Problem List: "   nodeText;