我已经被困在这个问题上一段时间了,所以任何帮助都将不胜感激。我是ColdFusion的新手,所以欢迎所有建议。
我在cfform
中收集数据,然后将其插入到SQL表中,这很好。目前,cfform
是使用HTML表中的cfloop自动生成的。不过,由于某种原因,除非cfform位于同一td中,否则cfinput日期字段日历会生成JavaScript问题,这不是一个可行的选项。
我已经设法使它在不同的页面上工作,并复制&将代码粘贴到这个中,但仍然没有用。然而,JS错误是Uncaught TypeError: Cannot read property split of undefined
,一旦cfform和cfinput相邻,就会立即消失。从呈现的代码来看,cfform似乎正在立即关闭自己,<form...></form>
,但不确定该如何处理。
get_vessel_info和get_container_info都是以前的cfquery,它们可以完美地工作。所有变量的定义都是正确的。
这是我的代码:
<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">
,但没有用。
如果您有任何问题,请随时提问。
经过艰苦的调试,我发现表需要在标记内启动,而不是反转。希望这能为一些人节省一些时间!