1

我已经坚持了一段时间,所以任何帮助将不胜感激。我是 ColdFusion 的新手,所以欢迎所有建议。

我正在收集数据,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">但无济于事。

如果您有任何问题,请随时提问。

4

1 回答 1

0

经过艰苦的调试,我发现表格需要在标签内开始,而不是反转。希望这可以节省一些人一些时间!

于 2016-12-07T03:05:48.507 回答