#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); Я пробовал это таким образом … но никуда не денусь