Вот моя проблема.
У меня есть сформированная бритва форма, которая имеет несколько полей, но я хочу, чтобы электронная почта была необходима только при щелчке по кнопке «Администратор системы». По умолчанию пользователь системы.JQuery Если нажата кнопка радио, введите поле для электронной почты
<div class="">@Html.LabelFor(m => m.Email)</div>
<div class="">
@Html.TextBoxFor(m => m.Email, new { @class = "form-control required", placeholder = "Email" })
@Html.ValidationMessageFor(m => m.Email)
</div>
Я даже попытался удалить «необходимый» после контроля формы и вынести валидацию.
У меня есть 2 переключателя, которые генерируются бритвой, которые имеют одинаковое имя , но разные значения.
<div class="inline-editor create-user-roles">
<input id="UserRole" name="UserRole" type="radio" value="System Administrator">
<input id="UserRole" name="UserRole" type="radio" value="System User">
</div>
Вот функция JQuery, которую я пытаюсь использовать.
$('input[name="UserRole"]').on('change', function() {
if ($('input[name="UserRole"]:checked').val() == "System Administrator") {
$('#Email').rules('add', {
required: true, messages: { required: "This field is required" }
});
}
else {
$('#Email').rules('add', {
required: false
});
}
});
вам необходимо обновить JS, как это 'если ($ (это) .а (': проверено') && $ (это) .val() == 'Системный администратор')' 'и заменить нажмите 'with' change' – Sushil
Это не похоже на трюк. Он по-прежнему позволяет мне отправить форму без письма @Sushil – jgabb
прежде всего, у вас есть несколько элементов с одним и тем же идентификатором. который должен идти. то вместо использования '$ ('# UserRole') нажмите' try, используя '$ ('input [name =" UserRole "]'). on ('change', function())' – Sushil