如何使用coldfusion在下拉列表框中添加和保存条目

时间:2014-03-19 05:44:16

标签: coldfusion

我想在列表末尾的下拉列表框中输入一个“输入新住房”选项,如果选中,则会出现一个消息框,然后它将自动保存在数据库中并刷新对象

我是初学者,这就是我的开始:

<cfquery name="housingsel" datasource=" " dbtype=" ">
    select rtrim(housing_name) as housing, housingid as housingid from housing order by housing
</cfquery>

<!---<cfquery name="housingins" datasource=" " dbtype=" ">
    insert into housing (housingid,housing_name) values (1,'Tierra Pura Housing')
</cfquery>--->

<body>
<div class="container">
  <div class="content">
    <h1>Housing</h1>
    <table width="300" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0" border="0">
    <cfform action="de_housing.cfm" method="POST">
    <tr><td height="20" class="lbl" align="right">Housing</td><td>
            <select name="housingcat">
                <CFOUTPUT QUERY="housingsel">
                    <OPTION VALUE="#housingid#">#housing#</OPTION>
                </CFOUTPUT>
                <option value="new">Enter New Housing</option>
                </select>
            </td></tr>
            <tr><td height="20" class="lbl"></td><td align="left">
            </td></tr>
    </cfform>
    </table>

请帮忙!

谢谢!

1 个答案:

答案 0 :(得分:2)

首先,不惜一切代价避免使用cfform。它对你没有帮助。请参阅https://github.com/cfjedimaster/ColdFusion-UI-the-Right-Way了解原因以及如何以正确方式执行操作的示例。

话虽这么说,你想要做的事情并不困难。让我们分解吧。

&GT; &#34;我想在下拉列表框中创建一个选项&#34;输入新住房&#34;,如果选择&#34;
使用jQuery,您可以在下拉列表中添加更改处理程序。在该更改处理程序中,您可以获取下拉列表的选定索引。如果该索引等于选项的长度,则用户已选择最后一个。

&GT; &#34;会有一个消息框&#34;
你有几个选择。一种简单但不漂亮的方法是使用内置的确认选项。它有一个用户可以输入的简单模态框API。有很多选项,比如jQuery UI对话框,但确认选项是 super 简单。我建议从那里开始。

&GT; &#34;自动保存在数据库上&#34;
因此,您将知道用户何时在确认中输入值。接下来,使用jQuery对代码执行XHR(Ajax)命中。您需要编写CF代码来响应此请求并将其插入到数据库中。并不太难,并且已经在其他地方显示了很多的地方。我还添加逻辑来检查欺骗行为。

&GT; &#34;刷新对象&#34;
当您在jQuery中执行XHR时,您知道服务器何时完成了废话,因此在响应处理程序中,您可以向下拉列表添加新选项。这也是以前做过很多次,只是谷歌为下拉添加一个选项。 (你可能会回到这里。)