Я пытаюсь написать валидации javascript как общий. Я добавил атрибут для всех элементов управления, которые предназначены для страницы. Когда когда-либо нажимается любой щелчок (действие Post), у меня есть скрипт на стороне клиента, который будет запускаться, и он будет проверять, есть ли какой-либо обязательный элемент управления, который не заполнен данными. Если это так, тогда будет создано предупреждающее сообщение типа «Пожалуйста, введите значение».Общая проверка с помощью JQuery
Итак, вот настоящая проблема. всякий раз, когда я пытаюсь использовать Asp:checkbox
и asp:radio
, он всегда визуализируется с контролем диапазона без атрибута идентификатора. Поэтому я не могу установить флажок или переключатель с помощью управления диапазоном с помощью JQuery.
Вот код на стороне сервера, который присвойт isMandated=true
, основанный на проверке организации.
control.Attributes.Add ("isMandatory", "правда")
Здесь управления является webcontrol
здесь тонированное выход Asp:checkbox
и asp:radio
<span isMandatory="true"><input id="mainHolder_rdb1" type="radio" name="ctl00$mainHolder$rdb1" value="rdb1" /></span>
<span isMandatory="true"><input id="mainHolder_chkBox" type="checkbox" name="ctl00$mainHolder$chkBox" /></span>
Здесь я не удалось получить контроль с помощью управления диапазоном без атрибута ID. Есть ли обходной путь для решения этой проблемы. (Но у меня есть идея использовать клиентский элемент управления, добавив RUNAT = «сервер» тег)
Вот мой фактический Javascript код,
function validateMandatedFields() {
var isValid = true;
var tagName = "";
$("[ismandatory='true']").each(function (ctrl) {
thisControl = $(this);
tagName = thisControl.prop('tagName').toLowerCase();
if (tagName === "select" && thisControl.val() === "-1") {
alert("please enter the value");
thisControl.focus();
isValid = false;
return isValid;
}
else if ((tagName === "table") && $("#" + thisControl.attr("id") + " input[type='radio']").length > 0) {
var isChecked = $("#" + thisControl.attr("id") + " input[type='radio']").is(":checked");
if (!isChecked) {
alert("please select any option");
$("#" + thisControl.attr("id") + " input[type='radio']").focus();
isValid = false;
return isValid;
}
}
else if ((tagName === "table") && $("#" + thisControl.attr("id") + " input[type='checkbox']").length > 0) {
var isChecked = $("#" + thisControl.attr("id") + " input[type='checkbox']").is(":checked");
if (!isChecked) {
alert("please select any option");
$("#" + thisControl.attr("id") + " input[type='checkbox']").focus();
isValid = false;
return isValid;
}
} else if (tagName === "span" && $("span input[type='checkbox']").length>0) {
var isChecked = $("span input[type='checkbox']").is(":checked");
if (!isChecked) {
alert("please select any option");
$("span input[type='checkbox']").focus();
isValid = false;
return isValid;
}
}
else if (tagName === "span" && $("span input[type='radio']").length > 0) {
var isChecked = $("span input[type='radio']").is(":checked");
if (!isChecked) {
alert("please select any option");
$("span input[type='radio']").focus();
isValid = false;
return isValid;
}
}
else if (thisControl.val() === "") {
alert("please enter the value");
thisControl.focus();
isValid = false;
return isValid;
}
});
return isValid;
}
Да, я уже изучил это. Но для каждых страниц, для создания правил, мне нужно много изменений. У меня на странице более 25 элементов управления. – Ramesh