Code: Select all
... another code!!!
Close
Edit
Delete
< /code>
Hier ist der Code des Skripts, in dem das Fenster mit Daten < /p>
gefüllt wird
var saveUserUrl = '[[@{/saveUser}]]';
var deleteUserUrl = '[[@{/deleteUser}]]';
$('#userModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var userId = button.data('user-id');
var operation = button.data('operation');
var modal = $(this);
modal.find('.modal-body #userId').val(userId);
... another code!!!
var form = modal.find('.modal-body form');
if (operation === 'edit') {
form.attr('action', saveUserUrl);
} else {
// Добавляем userId к URL для удаления
form.attr('action', deleteUserUrl);
}
... another code!!!
var editButton = modal.find('.modal-body .btn-primary');
var deleteButton = modal.find('.modal-body .btn-danger');
if (operation === 'edit') {
editButton.show();
deleteButton.hide();
} else {
editButton.hide();
deleteButton.show();
}
... another code!!!
});
< /code>
Auf diese Weise wird das Fragment mit dem Modalfenster in der Haupt -HTML -Datei eingefügt. < /p>
Diese Methode funktioniert, wenn Sie im Modal -Fenster auf die Schaltfläche Bearbeiten klicken.
Code: Select all
@PostMapping("/saveUser")
public String saveUser(@ModelAttribute("user") User user,
@RequestParam(value = "roles", required = false) List roleIds,
@RequestParam(value = "newPassword", required = false) String newPassword) {
... another code!!!
}
< /code>
Und diese Methode wird nicht einmal stattfinden, wenn Sie im Modal -Fenster auf die Schaltfläche Löschen klicken < /p>
@PostMapping("/deleteUser")
public String deleteUser(User user) {
//TODO: println
System.out.println("deleteUser: " + user.getId());
userService.delete(user.getId());
return "redirect:/admin-bootstrap";
}
@PostMapping("/deleteUser")
public String deleteUser(@RequestParam("userId") Long id) {
System.out.println("deleteUser: " + id);
userService.delete(id);
return "redirect:/admin-bootstrap";
}
< /code>
Dies funktionierte auch nicht, println () wurde nicht in die Konsole ausgegeben. Die Schaltfläche, die Benutzerdaten in der Datenbank werden im Modal -Fenster umgeschrieben - diese Funktionalität funktioniert! Wenn Sie jedoch auf die Schaltfläche Löschen klicken, wird auch ein modales Fenster geöffnet, aber mit blockierten Eingabefeldern wird ein geänderter Titel ("Benutzer bearbeiten" durch "Benutzer löschen" ersetzt). Die Schaltfläche Bearbeiten im Modalfenster ist versteckt und die Schaltfläche Löschen wird angezeigt. Wenn Sie darauf klicken, sollte die entsprechende Controller -Methode funktionieren, aber es wird nicht einmal in die Schaltfläche geschaltet!