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 ответ

После кропотливой отладки я обнаружил, что таблица должна начинаться внутри тега, а не переворачиваться. Надеюсь, это сэкономит некоторым людям время!

Другие вопросы по тегам