Tengo un formulario de afeitar central asp.net con un botón de envío. Cuando el usuario hace clic en 'Actualizar', el formulario llama a una función de JavaScript para preguntar al usuario si está seguro de que desea completar la solicitud. Esta funcionalidad ha estado funcionando, pero a partir de la semana pasada, el formulario ocasionalmente no se guardará a pesar de que el usuario confirme que desea completar la solicitud.
<div class="form-group"> <label asp-for="Requests.Complete" class="lblReq"></label> <select id="isComplete" asp-for="Requests.Complete" class="inputReq switch-disable"> <option value="N">N</option> <option value="Y">Y</option> </select> <span asp-validation-for="Requests.Complete" class="text-danger"></span> </div> <div class="form-group"> <input type="submit" value="Update" class="btn btn-primary" onclick="return CompleteOrNot()" /> </div> @section Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} <script type="text/javascript"> $(document).ready(function () { function CompleteOrNot() { var value = ($("#isComplete").val()); if (value == "Y") { var retVal = confirm("Are you sure you want to complete this request?"); window.history.go(-1); if (retVal == true) { return true; } } } }Siempre se le pregunta al usuario si desea completar la solicitud y, a veces, la publicación se procesa y otras veces actúa como si el usuario hubiera dicho que no a la solicitud (aunque no lo hizo). ¿Tiene alguna sugerencia sobre cómo solucionar/corregir este problema?
Si desea enviar el formulario cuando retVal es verdadero, intente usar el siguiente código
<form method="post" id="myForm"> <div class="form-group"> <label asp-for="Requests.Complete" class="lblReq"></label> <select id="isComplete" asp-for="Requests.Complete" class="inputReq switch-disable"> <option value="N">N</option> <option value="Y">Y</option> </select> <span asp-validation-for="Requests.Complete" class="text-danger"></span> </div> <div class="form-group"> <input type="button" value="Update" class="btn btn-primary" onclick="CompleteOrNot()" /> </div> </form> @section Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} <script type="text/javascript"> function CompleteOrNot() { var value = ($("#isComplete").val()); if (value == "Y") { var retVal = confirm("Are you sure you want to complete this request?"); if (retVal == true) { $("#myForm").submit(); } } } $(document).ready(function () { }) </script> }