2013-03-04 1 views
1

У меня возникли проблемы с визуализацией решения, которое мне нужно здесь. У меня есть выбранное меню на сайте, над которым я работаю, и клиент хотел бы выбрать опцию «Создать новое происхождение», в результате чего окно JS появится с пустым полем для пользователя, чтобы введите в это новое происхождение.AJAX & Coldfusion: Выполнение обновления базы данных и отражение изменений без перезагрузки

При отправке этой формы база данных будет обновлена, и в меню выбора теперь будет использоваться этот элемент без полного обновления страницы.

С точки зрения базы данных все готово и готово к работе, равно 99% от Coldfusion.

Вот фрагмент поля формы в вопросе:

<p class="_30NP" align="right"> 
    <label>Origin&nbsp;</label> 
</p> 
<p class="_20NP"> 
    <cfselect 
    name="Origin" 
    id="Origin" 
    query="Origin" 
    display="description" 
    value="code" 
    required="yes"> 
     <option value="new">New Origin</option> 
    </cfselect> 
</p> 

Вот CFQUERY:

<CFQUERY DBTYPE="Query" NAME="Origin"> 
    SELECT Code, [Description] 
    FROM ZCODES WHERE CODE = 0 
    UNION ALL 
    SELECT Code, [Description] 
    FROM ZCODES 
    WHERE FieldName = 'Origin' 
    ORDER BY 1 
</CFQUERY> 

Это очень простой вопрос, с вероятно, очень простой ответ, я просто немного экспозиции к AJAX.

Как отправить форму (всплывающее окно) и обновить список выбора без полного обновления страницы?

+0

* Это очень простой вопрос *, я на самом деле не вижу, вопрос здесь. Вы спрашиваете, где начать изучать ajax с помощью библиотеки javascript, например jquery (рекомендуется), или вы спрашиваете, как это сделать с помощью 'cfselect' и привязки? – Travis

+0

извините. Как отправить форму (всплывающее окно) и обновить список выбора без полного обновления страницы? –

ответ

1

Я бы использовал javascript-библиотеку, например jQuery, для обработки вашего ajax.

После нажатия кнопки используйте $.get(), $.post() или $.ajax() для связи с сервером. Каждый из них даст ответ. Тип ответа зависит от вас. Вы можете вернуть JSON и разобрать его, или вы можете вернуть прямой HTML. Я мог бы просто вернуть html, чтобы быть быстрым и легким.

<cfoutput query = "..."> 
    <option value = "...">...</option> 
</cfoutput> 

После того, как у вас есть результат, используйте $.html() обновить select's варианты.

0

Michael, мне лично не нравится полностью решение jQuery ajax. Мне очень нравится CFAJAXPROXY. Я слышал, что у него есть недостатки, но я их не нашел.

Ваш вопрос очень похож на другой вопрос на сайте stackexchange.com. Я думаю, вы можете найти хорошую информацию здесь.

https://softwareengineering.stackexchange.com/questions/133759/where-can-i-find-a-simple-jquery-ajax-coldfusion-tutorial