【问题标题】:ColdFusion how to set form input values from the results of a cfquery?ColdFusion如何从cfquery的结果中设置表单输入值?
【发布时间】:2015-04-21 06:19:52
【问题描述】:

问题:(第 1 部分)我正在寻找基于 cfquery 的结果设置表单输入值的最有效方法。我的表单字段都与数据库中的列名匹配。 我知道使用cfinsert 我可以使用表单输入值更新数据库。有没有办法反过来做?

(第 1.5 部分)如何根据我的 cfquery 的值设置选择和单选按钮的值?

背景:我有一个包含 60 多个输入的表单,其中包含 textselectradiotextarea。我正在创建的页面是允许用户查看他们之前提交的答案,并允许他们进行更改并再次提交表单,并使用他们的新答案(如果有的话)更新数据库。

以下只是输入的一小部分示例,除非有不同的方式,否则我将如何设置值。

    <!--variables pulled from the URL-->
    <cfset pageAction="#URL.action#">
    <cfset rfqID="#URL.rfqID#">
    <cfset rfqStatus="#URL.status#">

    <!--Query to get previous form answers -->
    <cfquery name="getFormData" datasource="RC">
                SELECT      *
                FROM        RFQ_Data
                WHERE       form_ID = <cfqueryparam value="#ARGUMENTS.rfqID#">
    </cfquery>

    <cfform name="rfq_form" class="pure-form pure-form-aligned" enctype="multipart/form-data" action="rfq_action.cfm" method="POST">

    <cfoutput>        
    <label>*Sold to Party:</label>

<cfinput type="text" name="sold_to_party" value="#getFormData.sold_to_party#"/>
 <!--HOW DO I SET THE DEFAULT VALUE OF MY SELECT TO BE THE VALUE FOUND IN THE CFQUERY?-->   
        <label>*Product Type:</label>
<select name="product_category" id="product_category">
    <option value="ts8-it">TS8-Data Center </option>
    <option value="ts8-ie">TS8-Industrial </option>
    <option value="WM_AE_JB">WM/AE/JB </option>
    <option value="other">Other </option>
    </select>


<h3>Additional information:</h3>    
<textarea name="additional_info_datacenter" rows="10" cols="60" style="margin-left:40px;">#getFormData.additional_info_datacenter#</textarea>
     <!--HOW DO I SET THE DEFAULT VALUE OF MY RADIO TO BE THE VALUE FOUND IN THE CFQUERY?--> 
    <label>19" Rails</label> 
    <input id="rails_yes" type="radio" name="19_Rails" value="yes"> YES
    <input id="rails_no" type="radio" name="19_Rails" value="no"> NO

</cfoutput>        
    <cfinput  style="padding:4px 6px;" type="submit" value="Submit Current Order" name="submit"/>

    </cfform>

【问题讨论】:

    标签: html coldfusion cfquery cfform


    【解决方案1】:

    对于选择,您可以尝试比较每个选项值,例如:

       <select name="product_category" id="product_category">
            <option value="ts8-it" <cfif CompareNoCase(getFormData.product_category,"ts8-it") EQ 0>selected="selected"</cfif> >TS8-Data Center </option>
    

    同样的方式你可以尝试无线电场,

      <input id="rails_yes" type="radio" name="19_Rails" value="yes" <cfif getFormData.19_Rails>checked="checked"</cfif> > 
    
      <input id="rails_no" type="radio" name="19_Rails" value="no" <cfif NOT getFormData.19_Rails>checked="checked"</cfif> > 
    

    【讨论】:

    • 我希望我不必这样做,因为选择输入和选项的剪切数量,但除非有另一个选项,否则我将不得不这样做.感谢您的反馈意见。 +1
    • 如果您从任何查询或列表中获取选项值,您可以将它们循环到那里。
    • 表单中的选项是静态的。只有默认选项会根据用户在先前表单中的选择而更改。我不会将其他选项存储在表单以外的任何地方。如果我正确理解您的建议。
    【解决方案2】:

    请尝试以下 jQuery 代码 sn-p。

    var selDefualtVal = '#getFormData.product_category#';
    jQuery(document).ready(function () {
             jQuery("#product_category option[value='"+selDefualtVal+"']").attr("selected","selected");
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      相关资源
      最近更新 更多