2

コールドフュージョンページにフォームがあります。テーブルに挿入している保存ボタンを押した後、選択ボックスにテーブルの新しい値をページにリロードする必要があります。送信後にページが更新されますが、ドロップダウンに新しく挿入された値が表示されません。ページを手動で更新して初めて、ページを見ることができます。私は以下のコードを持っています

  <script>
        function confirm_insert()
        {
            var ok = confirm("Are you sure you want to save the changes?");
            if (ok)
            {
                document.myform.submit();   
                return true;
            }
            else
            {
                return false;
            } 
        }
    </script>  

<form name="myform" action="bsc_lookup_number_add.cfm" method="post" >
           <td><input type="text" <cfif      isDefined('page.select_Main_Group')>value="#page.select_Main_Group#"</cfif>></td>
           <td><input type="text" <cfif isDefined('page.select_Sub_Group')>value="#page.select_Sub_Group#"</cfif>></td>
          <td><input name="newfirstchars" type="text" value="" maxlength="3"></td>

    <input type="submit" class="button" name="saverecord" id="saverecord"  style="width:100px" value="Save Record" onClick="return confirm_insert();">

            <cfquery name="first3" datasource="mbtran">
            select * from (
       select cast((substr(A.LABORLEVELNAME2, 1, 3)) as varchar2(5 byte)) first_3_pos
        from tkcsowner.VP_LABORACCOUNT a  
         <cfif isDefined('page.select_Sub_Group')>         
        where substr(A.LABORLEVELNAME1, 1, 5) || substr(A.LABORLEVELNAME2, 4, 2) = ('#page.select_Main_Group#' || '#page.select_Sub_Group#')
        </cfif>
        union
        select  A.FIRST_3_CHARS_IN_POSITION first_3_pos
        from kronos_if.FIRST_3_CHARS_IN_POSITION a    
         <cfif isDefined('page.select_Sub_Group')>     
        where A.DEPTID || A.UNION_CD = ('#page.select_Main_Group#' || '#page.select_Sub_Group#') 
        </cfif>
        )                          
        order by first_3_pos        
        </cfquery>

                <cfif isDefined('page.select_Sub_Group')>
                <td align="center">
                <select name="first3" id="first3" required="yes"        onchange="this.form.submit()">
             <option>Select</option>
             <cfloop query="first3">
                 <option value="#first_3_pos#" <cfif             isDefined('form.first3')><cfif form.first3 eq "#first_3_pos#">selected</cfif>       </cfif>>#first_3_pos#</option>
             </cfloop>
            </select></td>      

       </cfif>


         <cfif isdefined ("form.saverecord") and isdefined("form.newfirstchars")>

 <cfquery name="saverec" datasource="mbtran">

               insert INTO kronos_if.FIRST_3_CHARS_IN_POSITION
              (deptid,union_cd, first_3_chars_in_position,effdt)
                      values('#page.select_Main_Group#','#page.select_Sub_Group#','#FORM.newfirstchars#',sysdate)

</cfquery>               


        </cfif>

</form>

ご意見をお聞かせください。ありがとう

スクリーンショット

4

1 に答える 1

7

レコードを挿入するためのクエリは、ドロップダウンにデータを入力するために使用するクエリの後にあります。このコードを移動する必要があります

<cfif isdefined ("form.saverecord") and isdefined("form.newfirstchars")>

<cfquery name="saverec" datasource="mbtran">
    insert INTO kronos_if.FIRST_3_CHARS_IN_POSITION
    (deptid,union_cd, first_3_chars_in_position,effdt)
    values ('#page.select_Main_Group#','#page.select_Sub_Group#','#FORM.newfirstchars#',sysdate)

</cfquery>               


</cfif>

選択したクエリの上。

また、cfqueryparamの使用についても検討します-http ://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7f6f.html

于 2013-01-14T23:30:03.407 に答える