使用CFForm时标记验证错误

时间:2010-03-05 13:09:14

标签: coldfusion w3c-validation cfform name-attribute

有没有人知道以下标记验证错误的解决方案?我不确定这是ColdFusion或我自己的代码中的问题,但以下代码段的输出无法在W3C标记验证服务上正确验证:

代码

        <cfform class="SearchForm" id="SearchForm" action="">
            <fieldset>
                <cfinput type="text" class="TNameField" name="TName" autosuggest="cfc:MyCFC.MyFunction({cfautosuggestvalue})">
                <input type="button" class="TNameButton" value=" " />
            </fieldset>
        </cfform>

HTML输出

<form id="SearchForm" action="" method="post" class="SearchForm" onsubmit="return _CF_checkCFForm_1(this)">

验证错误与ColdFusion自动分配给的“name”属性相关联。错误消息如下:

  

没有属性“name”             

您正在使用的文档类型   不支持这个属性   元件。此错误通常是由   不正确使用“严格”文件   型

我假设AJAX需要“name”属性才能正常运行。如何解决此验证错误?我是否需要更改文档类型?

2 个答案:

答案 0 :(得分:1)

您不必在表单上具有名称属性以使AJAX正常工作(包括任何ColdFusion生成的AJAX)。以下是name attribute of the cfform element

中的相关信息
在HTML格式中,如果省略此属性并指定id属性,则为ColdFusion 在发送到浏览器的HTML中不包含name属性;这种行为 允许您使用cfform标记创建符合XHTML的表单。如果省略 name属性和id属性,ColdFusion生成一个名称 form CFForm_n其中n是一个连续分配给页面上表单的数字。

简短回答:保留一个ID,删除名称attribue,您的页面将验证。不要忘记,id必须在页面中的所有元素中都是唯一的。

答案 1 :(得分:0)

我认为这意味着 form 标签名称:

<cfform class="SearchForm" id="SearchForm" action="" name="SearchForm">