2015-03-30 75 views
0

我一直在這一段時間,所以任何幫助將不勝感激。我是ColdFusion的新手,因此歡迎提供所有建議。Coldfusion cfinput datefield不在裏面工作

我正在收集cfform中的數據,然後將其插入到SQL表中,該數據表現正常。目前,cfform是使用HTML表格中的cfloop自動生成的。由於某些原因,cfinput-datefield日曆正在生成JavaScript問題,除非cfform位於相同的td中,這不是一個可行的選項。

我已經設法讓它在不同的頁面上工作,並複製&將代碼粘貼到這個但仍然無濟於事。 JS錯誤是Uncaught TypeError: Cannot read property split of undefined但是,只要cfform和cfinput彼此相鄰就會立即消失。查看呈現的代碼,似乎cfform立即關閉自己,<form...></form>,但不知道該怎麼做。

get_vessel_info和get_container_info都是以前的cfqueries,完美工作。所有的變量都已被正確定義。

這裏是我的代碼:

<cfoutput> 
<table name="main-table"> 
    <tr class="titlerow"> 
     <td>#invoiceno#*</td> 
     <td>#dateofentry#*</td> 
     <td>#containerno#</td> 
     <td>#sealno#</td> 
     <td>#insurancecoefficient#*</td> 
     <td>#freightperkilo#*</td> 
     <td></td> 
    </tr> 
    <cfif get_vessel_info.number_of_containers gte 1> 
     <cfloop from="1" to="#get_vessel_info.number_of_containers#" index="i"> 
      <cfform action="inboundcontainerinsert.cfm?vessel_ID=#session.vessel_ID#" name="containerinsertrow#i#" method="post"> 
      <tr> 
       <td><cfinput type="text" name="invoice_no#i#" placeholder="#entervalue#" maxlength="50" required="yes" value="#invoicenovalue#"></td> 
       <td><cfinput type="datefield" name="date_of_entry#i#" placeholder="#selectvalue#" maxlength="50" required ="yes" value="#dateofentryvalue#" mask="DD-MMM-YYYY"></td> 
       <td><cfinput type="text" name="container_no#i#" placeholder="#entervalue#" maxlength="50" value="#containernovalue#"></td> 
       <td><cfinput type="text" name="seal_no#i#" placeholder="#entervalue#" maxlength="50" value="#sealnovalue#"></td> 
       <td><cfinput type="text" name="insurance_coefficient#i#" maxlength="50" required="yes" value="#insurance_covalue#"></td> 
       <td><cfinput type="text" name="freightperkg#i#" placeholder="#entervalue#" maxlength="50" required="yes" value="#freightperkgvalue#"></td> 
       <cfif #container_id# NEQ ""> 
        <cfset submitname = 'updaterow'><cfset submitvalue = #freightstore_updaterow#> 
       <cfelse> 
        <cfset submitname = 'submitrow'><cfset submitvalue = #freightstore_submitrow#> 
       </cfif> 
       <td><cfinput type="submit" name="#submitname#" value="#submitvalue#"/></td> 
     </tr></cfform> 
    </cfloop> 

願意接受任何建議。我不知道jQuery或Ajax,所以我很猶豫,除非有人驚歎可以創建一個完美的工作修復。我已經包括了一個<cfajaximport tags="cfinput-datefield">但無濟於事。

如果您有任何問題,請隨時詢問。

+5

因爲'cfinput'。不要使用'cfform','cfinput'或ColdFusion的其他客戶端功能。他們過時了,執行不力並且受到嚴重限制。嘗試在Google上搜索日期選擇器,那裏有很多功能更好,更容易使用。另外,請勿使用表格來佈置表單。那是1990年的 – 2015-03-30 18:24:06

+0

謝謝@Scott Stroz。我通常不會使用表格,但時間有限,寧願改進功能而不是演示。一張桌子完美地顯示信息。如果我只是使用'form',我就會遇到傳遞數據的問題,希望不必重新編碼整個頁面......這是唯一可能的事情嗎? – 2015-03-30 19:00:42

+0

*似乎cfform立即關閉*忽略使用CF表格控件的內在挑戰開始,它看起來不像你的html有效。 http://stackoverflow.com/questions/5967564/form-inside-a-table .. – Leigh 2015-03-30 20:17:14

回答

0

經過艱苦的調試,我發現表格需要在標籤內START並且不能倒過來。希望這可以節省一些人的時間!