У меня есть простая форма с 2 раскрывающимися полями и кнопкой отправки в моем приложении MVC.Я включил проверку на стороне клиента, и она работает нормально.Теперь я добавил JavaScript, чтобы отключить кнопку отправки, чтобы форма не отправлялась дважды.По какой-то неизвестной причине сообщение проверки клиента не отображается, когда я добавляю этот сценарий.
Это моя форма:
@using (Html.BeginForm("Recycle", "GetList", FormMethod.Post, new { id = "myForm" }))
{
<!-- Server list -->
<div>
<span>Site type: </span>
@Html.DropDownListFor(m => m.uInputS, new List<SelectListItem>
{
new SelectListItem {Text = "text", Value = "value" },
new SelectListItem {Text = "text", Value = "value" }
}, "Select site type")
@Html.ValidationMessageFor(m => m.uInputS, "", new { @class = "error" })
</div>
<!-- Application list -->
<br />
<div>
<span>Application: </span>
@Html.DropDownListFor(m => m.uInputA, new SelectList(string.Empty, "Value"))
@Html.ValidationMessageFor(m => m.uInputA, "", new { @class = "error" })
</div>
<br />
<!-- Submit-->
<div>
<input id="Submit1" type="submit" value="Submit" onclick="return FreezeSubmit();" />
</div>
}
Ниже приведен jquery, который я использовал для отключения кнопки отправки.
<script>
function FreezeSubmit() {
var s = $("#uInputS").val();
var a = $("#uInputA").val();
if ((s && a)) {
$('#myForm').submit();
$('#Submit1').prop('disabled', true);
return true;
}
else {
$('#Submit1').prop('disabled', false);
return false;
}
}
</script>
Это моя модель:
public class GetList
{
[Required(ErrorMessage = "Please select site type")]
public string uInputS { get; set; }
[Required(ErrorMessage = "Please select application name")]
public string uInputA { get; set; }
}
Я очень новичок в программировании и не могу понять, почему сообщение проверки клиента не отображается, потому что я добавил некоторый JavaScript.Любая помощь приветствуется.Спасибо!