Coldfusion 使用CFForm时出现标记验证错误

Coldfusion 使用CFForm时出现标记验证错误,coldfusion,w3c-validation,cfform,name-attribute,Coldfusion,W3c Validation,Cfform,Name Attribute,有人知道以下标记验证错误的解决方案吗?我不确定这是ColdFusion中的问题还是我自己的代码中的问题,但以下代码段的输出没有在W3C标记验证服务上正确验证: 代码 HTML输出 <form id="SearchForm" action="" method="post" class="SearchForm" onsubmit="return _CF_checkCFForm_1(this)"> 验证错误与ColdFusion自动分配给的“name”属性相关。错误消息如下所示:

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

代码


HTML输出

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

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

没有属性“name” 您正在使用的文档类型不正确 对此不支持该属性 元素。此错误通常是由以下原因引起的: 不正确使用“严格”文档 类型

我假设AJAX需要“name”属性才能正常工作。如何解决此验证错误?我必须更改我的文档类型吗?

我想这意味着表单标签名:

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

要使AJAX正常工作(包括任何ColdFusion生成的AJAX),表单上不必有name属性。以下是来自以下网站的相关信息:

在HTML格式中,如果省略此属性并指定id属性,则为ColdFusion 在发送到浏览器的HTML中不包含名称属性;这种行为 允许您使用cfform标记创建与XHTML兼容的表单。如果你忽略了 name属性和id属性,ColdFusion生成 form CFForm_n,其中n是按顺序分配给页面上表单的数字。
简短回答:保留一个id,删除attribue名称,您的页面将进行验证。不要忘记id在页面中的所有元素中都必须是唯一的。

Sergii,如果您查看我的源代码,您可以看到我没有包含“name”属性。name属性由CF自动生成。这是否意味着无法正确验证此文档?W3C标准要求表单标记具有name属性。这就是为什么你会犯错误。
<cfform class="SearchForm" id="SearchForm" action="" name="SearchForm">