Coldfusion cfinput поле даты не работает внутри таблицы
Я застрял на этом некоторое время, поэтому любая помощь будет оценена. Я новичок в ColdFusion, поэтому все предложения приветствуются.
Я собираю данные в cfform
затем он вставляется в таблицу SQL, которая отлично работает. В настоящее время cfform
автоматически генерируется с помощью cfloop внутри таблицы HTML. Однако по какой-то причине календарь 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">
но безрезультатно.
Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь спрашивать.
1 ответ
После кропотливой отладки я обнаружил, что таблица должна начинаться внутри тега, а не переворачиваться. Надеюсь, это сэкономит некоторым людям время!