У меня возникли проблемы с кодом ColdFusion. Я пытаюсь создать простую форму выбора HTML, используя cfloop, чтобы заполнить параметры. он работает, и когда вы выберете вариант, он вытащит эту опцию из db. но как только вы это сделаете, единственным доступным вариантом является выбранная ранее опция. Что я делаю не так?Параметры ColdFusion удалены после выбора опции
<!--- Query the DataBase --->
<cfparam name="url.colors" default="">
<cfif structKeyExists(form, "colordb")>
<cfset url.colordb = form.colordb>
</cfif>
<cfquery datasource="bentest" name="colors">
SELECT *
FROM color_codes
<cfif structKeyExists(url,"colordb") and isNumeric(url.colordb)>
WHERE id=#url.colordb#
</cfif>
</cfquery>
<!--- Add Selector for user to select a color --->
<div class="selector">
<cfoutput>
<form action="?contentId=colorPickdb" name="clr" method="post" class="clr">
<select class="clr" name="colordb" onChange="submit();">
<option selected>Select A Color!</option>
<cfloop query="colors">
<option value="#colors.id#">#colors.color#</option>
</cfloop>
</select>
</form>
</cfoutput>
</div>
<div class="dump">
<!--- Output results of Query --->
<p><cfif structKeyExists(form, "colordb")>
<cfoutput query="colors">
#colors.color# <br>
#colors.hexvalue# <br><br>
</cfoutput>
</cfif>
<br>
</p>
</div>
Предложение where WHERE id = # url.colordb # 'активно после выбора параметров и отправки страницы, поэтому из БД выбирается только тот цвет. – RRK
Ничего общего с исходным вопросом, но ... никогда не используйте необработанные клиентские значения в sql, такие как 'WHERE id = # url.colordb #'. Всегда используйте cfqueryparam для защиты от SQL-инъекций и повышения производительности. – Leigh
Не связано с вашим вопросом, но использование метода onChange для раскрытия формы часто приводит к непреднамеренным и раздражающим представлениям формы. –