Esta es mi forma:-
<form action="#" th:object="${note}" th:action="$('#note-id').val()!=null ? @{/update} : @{/note}" method="POST"> <input type="hidden" name="noteId" id="note-id" th:field="*{noteId}" > <div class="form-group"> <label for="note-title" class="col-form-label">Title</label> <input type="text" name="noteHead" th:field="*{noteHead}" class="form-control" id="note-title" maxlength="20" required> </div> <div class="form-group"> <label for="note-description" class="col-form-label">Description</label> <textarea class="form-control" name="noteDescription" th:field="*{noteDescription}" id="note-description" rows="5" maxlength="1000" required></textarea> </div> <button id="noteSubmit" type="submit" class="d-none" ></button> </form>
Este formulario está dentro de una ventana emergente (clase modal). Quiero usar la misma ventana para agregar/actualizar. Añadir está funcionando bien.
Para la actualización, estoy pasando los datos al modal, que también se muestra.
<button type="button" class="btn btn-success" th:data-noteId="${note.noteId}" th:data-noteTitle="${note.noteHead}" th:data-noteDescription="${note.noteDescription}" onclick="showNoteModal( this.getAttribute('data-noteId'), this.getAttribute('data-noteTitle'), this.getAttribute('data-noteDescription'));"> Edit</button>
Lo que quiero hacer es crear una declaración condicional en th: action en función de si "note-id" tiene valor, en cuyo caso es una actualización; de lo contrario, debería ser una Nueva entrada.
Por favor ayuda
¿Desea actualizar th: action de su formulario de tal manera que si note-id
tiene valor, se envíe una solicitud de edición al servidor; de lo contrario, agregue la solicitud?
Si ese es el caso, entonces puedes hacerlo de esta manera.
<form th:action="${user.note_id}==null? @{/save} : @{/edit}">
con parámetro
<form th:action="${user.note_id}==null? @{/save} : @{/edit/(noteId=${user.note_id})}">
Consulte la documentación de sintaxis de URL estándar de thymeleaf para obtener más detalles.