Я беру список флажков на странице содержимого главной страницы, с помощью которого я могу выбрать несколько значений и сохранить их в базе данных. Как подтвердить, что хотя бы один из флажков установлен во время нажатия кнопки отправки.
Как проверить список флажков на странице содержимого?
comment
stackoverflow.com/questions/6129445 /
- person Deepanshu Goyal   schedule 11.04.2013
comment
вы хотите валидацию в java-скрипте?
- person शेखर   schedule 11.04.2013
Ответы (2)
Вы можете сделать как показано ниже.
В JavaScript не имеет значения, где находятся элементы управления: либо страница содержимого, либо главная страница
<asp:CheckBoxList ID="chkModuleList"runat="server" />
<asp:CustomValidator runat="server" ID="cvmodulelist"
ClientValidationFunction="ValidateModuleList"
ErrorMessage="Please Select Atleast one Module" />
// javascript to add to your aspx page
function ValidateModuleList(source, args)
{
var chkListModules= document.getElementById ('<%= chkModuleList.ClientID %>');
var chkListinputs = chkListModules.getElementsByTagName("input");
for (var i=0;i<chkListinputs .length;i++)
{
if (chkListinputs [i].checked)
{
args.IsValid = true;
return;
}
}
args.IsValid = false;
}
Обновление: Или вы можете воспользоваться этим подходом: поставить любой css-class
say company
. Вы можете пройти ниже.
Имеется :checked
(http://api.jquery.com/checked-selector/ ) вы можете использовать:
<script>
$(document).ready(function() {
$(".company input").click(function() {
var cnt = $(".company input:checked").length;
if (cnt == 0)
{
// none checked
}
else
{
// any checked
}
});
});
</script>
Вы можете добавить (или использовать) идентификатор в контейнере этих флажков, чтобы оптимизировать скорость выбора.
Что касается asp.net, испорченного идентификаторами клиентов в элементах управления, вы можете использовать
$('<%= MyControl.ClientID %>')
Использованная литература:
- Проверьте, установлен ли флажок в группе флажков на стороне клиента
- Как подтвердить выбор пользователя хотя бы один флажок?
person
शेखर
schedule
11.04.2013
Dado.Validators, библиотека на GitHub, тоже отлично справляется с этим.
<asp:CheckBoxList ID="cblCheckBoxList" runat="server">
<asp:ListItem Text="Check Box (empty)" Value="" />
<asp:ListItem Text="Check Box 1" Value="1" />
<asp:ListItem Text="Check Box 2" Value="2" />
<asp:ListItem Text="Check Box 3" Value="3" />
</asp:CheckBoxList>
<Dado:RequiredFieldValidator runat="server" ControlToValidate="cblCheckBoxList" ValidationGroup="vlgSubmit" />
Пример codebehind.aspx.cs
btnSubmit.Click += (a, b) =>
{
Page.Validate("vlgSubmit");
if (Page.IsValid) {
// Validation Successful
}
};
https://www.nuget.org/packages/Dado.Validators/
person
roydukkey
schedule
16.08.2013