有没有人知道以下标记验证错误的解决方案?我不确定这是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”属性才能正常运行。如何解决此验证错误?我是否需要更改文档类型?
答案 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">