Mam modał bootstrap. Gdy użytkownik kliknie przycisk "Aktualizuj", wywołuje wywołanie ajax, aby zaktualizować DB. Jednak jeśli aktualizacja nie powiedzie się z jakiegoś powodu, chcę wyświetlić komunikat o błędzie i pozostawić otwarty mod.Zapobieganie modowi ładowania początkowego przed zamknięciem przy przycisku przesyłania Kliknij
Wszystko wydaje się działać w kolejności, w jakiej się spodziewam, jednak wydaje się, że e.preventDefault()
nie zatrzymuje modala przed zamknięciem.
Dlaczego preventDefault()
nie przerywa wysyłania przycisku?
Mój przycisk:
<button type="submit" class="btn btn-success" id="btnUpdate" style="margin-right:10px">Update</button>
JavaScript kod kliknij przycisk.
$("#btnUpdate").on("click", function (e) {
// reset the message...
$("#errorMessage").html("");
// get the value...
var myParam = $("#someSelection").attr("someData");
var myParamData = JSON.parse(myParam);
updateData(myParamData.Name)
.done(function (result) {
if (!result.d == "") {
$("#errorMessage").html(result.d);
e.preventDefault();
}
else {
loadData();
}
});
});
To pomaga, ale powoduje problemy z moim klientem sid e sprawdzanie poprawności. Zmieniłem przycisk od przesłania na przycisk i dodałem trochę kodu, aby zamknąć modalny sukces i to jest w porządku ... Jednak w modalu mam 2 pola wejściowe, do których dodałem atrybut "wymagany". To teraz przestaje działać, ponieważ nie jest już przyciskiem przesyłania. Domyślam się, że mogę obsłużyć błąd sprawdzający po stronie serwera, ale ostatecznie miałem nadzieję, że zrobię sprawdzanie poprawności zarówno na kliencie, jak i na serwerze. – PrivateJoker
Tak, możesz, sprawdź moją aktualizację. –
Widzę, do czego zmierzasz, jednak nie działa dla mnie. Myślę, że mam wadę na stronie mojej strony. Mam