У меня есть примечания div Если пользователь выберет опцию Другое, то пользователю необходимо заполнить поле по причинам.
Это внутри веб-страницы (.cs html)
@model MNepalWeb.Models.CustomerSRInfo
@{
List<SelectListItem> Remarks = new List<SelectListItem>();
Remarks.Add(new SelectListItem { Text = "Your name does not match", Value = "Your name does not match" });
Remarks.Add(new SelectListItem { Text = "Your date of birth does not match", Value = "Your date of birth does not match" });
Remarks.Add(new SelectListItem { Text = "Others", Value = "Others" });
}
// Для замечаний
<div class="form-group">
<label class="control-label col-md-2">Reject Remarks <b style="color:red;">*</b></label>
<div class="col-md-5">
@Html.DropDownListFor(model => model.Remarks, new SelectList(Remarks, "Value", "Text"), new { @class = "form-control", @style = "width: 100%;", @id = "txtRemarks" })
<br />
<textarea name="OthersRemarks" id="txtOthersRemarks" placeholder="Please Insert Remarks to Reject, maxlength- 200" maxlength="200" rows="4" cols="50" style=" display:none; min-height:50px;min-width:200px;max-height:100px;max-width:422px;" class="form-control" @*oninput="checkValidation()"*@></textarea>
<b style="color:red">*</b><b> Note Please fill out remarks before rejecting </b>
<br />
</div>
</div>
</div>
JS для изменения значения
if ($.trim($('#RejectRemarks select').val()) == "" || $.trim($('#RejectRemarks select').val()) == "Others") {
var TextBoxRemarks = $("#txtOthersRemarks").val();
if ($.trim($('#RejectRemarks select').val()) == "Others" && TextBoxRemarks.trim() == "") {
document.getElementById("txtOthersRemarks").setCustomValidity("Other Reject Remarks is required");
$('#txtOthersRemarks select').focus();
return;
}
else if ($.trim($('#RejectRemarks select').val()) == "Others" && TextBoxRemarks.trim() != "") {
var txtRemarks = document.getElementById("txtRemarks");
//txtRemarks.value = $("#txtOthersRemarks").val();
txtRemarks.val = TextBoxRemarks;
//txtRemarks.value = TextBoxRemarks;
document.getElementById("txtOthersRemarks").setCustomValidity("");
return;
}
else {
document.getElementById("txtRemarks").setCustomValidity("Reject Remarks is required");
$('#RejectRemarks select').focus();
return;
}
}
else {
document.getElementById("txtRemarks").setCustomValidity("");
}
Но когда я реализую это js, он только изменяет значения на флажок и не отправляет пустое значение контроллеру.
public ActionResult BankLinkVerify(UserInfo model, string btnApprove, string Remarks)
Я пытаюсь найти, где происходит ошибка, но не могу проанализировать это. Мне нужны любые пользовательские типы в текстовом поле в качестве значения примечания (по умолчанию оно идет иначе, но когда я делаю это, js значение раскрывающегося списка становится нулевым для контроллера). Спасибо!