Я хочу иметь систему, в которой пользователи могут перейти на страницу, где есть список элементов, которые они могут оценивать (например, от 1 до 5) из раскрывающегося списка. Этот список будет довольно длинным, поэтому было бы гораздо удобнее, если бы они могли пройти и ранжировать каждый элемент, не нажимая «Сохранить».ColdFusion и AJAX - Обновление базы данных
Я очень много новичка, когда речь идет о AJAX, но я полагаю, что это не может быть что трудно. Я нашел an answer in a different discussion, что я считаю весьма актуальным, но он не дает достаточной информации для того, чтобы я точно знал, что с ним делать.
Вкратце, как использовать AJAX в соответствии с jQuery и ColdFusion, чтобы обновить базу данных без необходимости в кнопке сохранения/отправки?
РАЗРЕШЕНИЕ: Я должен был уточнить, что пользователь может оценить предметы - не ранг. Это означает, что нет # 1, # 2, # 3 и т. Д. Вместо этого каждый элемент можно оценивать по шкале от 1 до 5.
В настоящее время я основываю все на «.change()», когда пользователь делает выбор в раскрывающемся списке. В какой момент у меня есть две переменные jQuery, которые установлены в «Идентификатор» измененного элемента, а также его новый «рейтинг». Мне просто нужно найти способ использовать эти две переменные для обновления таблицы в базе данных.
Update На главной странице, теперь у меня есть простой JQuery AJAX пост вызова:$.post('update.cfc', {ID: inputID, rating: selRat})
, который срабатывает
.onChange()
. «inputID» - это идентификатор записи, которую я хочу обновить в базе данных, а «selRat» - выбранный рейтинг в раскрывающемся списке.
<cfcomponent output="false">
<cffunction name="updateRating" access="remote" output="false">
<cfupdate datasource="#session.db#" name="update">
UPDATE ajaxTest
SET rating = #FORM.rating#
WHERE ID = #FORM.ID#
</cfupdate>
</cffunction>
</cfcomponent>
В настоящее время я получаю 500 (Internal Server Error)
.
Мысли/предложения?
Вам нужна кнопка, чтобы изменить ранжирование параметров, не так ли? Возможно, это пара, которая позволяет вам перемещать опцию вверх или вниз по списку.Используйте событие click на этих кнопках для запуска сохранения. Тем не менее, вы рискуете несколькими кликами, чтобы переместить элемент вверх/вниз более чем один слот, переписывающий друг друга. Возможно, вам будет лучше с кнопкой сохранения, которую нужно щелкнуть после того, как они внесут изменения. –
Вы на правильном пути. Посмотрите учебник о том, как использовать функции jjery ajax с холодным синтезом. Вернитесь и задайте конкретный вопрос, если вы действительно застряли. –
@ ClaytonLeis: Спасибо за поддержку! Я обнаружил, что вы можете получить доступ к переменным, которые были переданы через AJAX в ColdFusion, просто используя # Form.variable #, которые помогли, я думаю. Я обновил сообщение с дополнительной информацией. Я не против получать подсказки вместо прямых ответов, если вы предпочтете это. Помогает учиться! Еще раз спасибо. – Steve