ColdFusion-подход для таблицы данных запроса и действий CRUD
Мой вопрос больше ориентирован на подход, чем на программирование или ошибки.
У меня есть запрос, который выполняет и собирает набор данных. Затем я хочу использовать возвращаемые значения этого запроса для построения таблицы на странице со списком всех значений. Наряду с этим мне нужно иметь некоторые действия с каждым значением, например:
my_val (edit) (delete)
my_cal (edit) (delete)
Где edit и delete-кнопки. Так что кнопка edit у меня работает с onClick javascript, где я перенаправлен на другую страницу, но кнопка delete у меня есть. нужно, чтобы сделать три вещи:
- подскажите пользователю, можно удалить? msg (используя javascript для этого (подтверждение возврата...).
- выполнить запрос на удаление
- обновить страницу (self)
Существует ли наилучшая модель подхода для этого? Проще ли вызвать две встроенные команды javascript? Использовать функции javascript? Может быть, функция Колдфузии?
Любые указатели были бы полезны! спасибо.
4 ответа:
Я думаю, что самый простой способ удаления-это что-то вроде этого. Я предполагаю, что вы используете jQuery или какую-то другую библиотеку или получаете материал JavaScript.
YourPage.cfm <cfif structKeyExists(URL, "Action") and URL.Action eq "delete"> <cfququery> // delete the item using the id provided </cfquery> </cfif> <cfquery name="GetFresh"> // get fresh info </cfquery> <cfloop query="GetFresh"> Something <span class='DeleteLink' data-someid='#SomeID#'>delete</span> <br> </cfloop> <script type='text/javascript'> $DeleteLinks = $("span.DeleteLink"); $DeleteLink.click(function() { var Confirm = confirm('Are you sure you want to delete?'); if (Confirm == true) { var SomeID = $(this).data("someid"); var URL = "YourPage.cfm?Action=delete&SomeID=" + SomeID; window.location = URL; } }); </script>
Я думаю, вы близки к тому, что ищете.
Способ, которым я бы сделал удаление, заключается в подтверждении в JS, затем просто отправьте запрос на другую страницу, которая выполняет процесс удаления, а затем отправляет вашего пользователя обратно на исходную страницу (давая вам обновление).
Это был бы простой маршрут, вы могли бы также сделать это с помощью AJAX, чтобы вызвать страницу процесса и сделать изменения в фоновом режиме. Затем вы должны либо выполнить обновление JS, либо вручную обработать изменения на страница.
Самый простой и быстрый способ-это просто иметь обработчик onclick, который возвращает true / false на основе выбора пользователя
Есть, конечно, гораздо более элегантные способы сделать это, но вышесказанное является основным и работает.<a href="delete.cfm?id=1" onclick="return confirm('Are you sure you want to delete his?')">Delete</a>