Marcado de error de validación cuando se utiliza CFForm
-
24-09-2019 - |
Pregunta
¿Alguien sabe de una solución para el siguiente error de validación de marcado? No estoy seguro si esto es un problema en ColdFusion o mi propio código, pero la salida del siguiente fragmento no valida correctamente en W3C Servicio de Validación de marcado:
Código
<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 de salida
<form id="SearchForm" action="" method="post" class="SearchForm" onsubmit="return _CF_checkCFForm_1(this)">
El error de validación está asociado con el atributo "nombre" que ColdFusion asigna automáticamente a. El mensaje de error es el siguiente:
no hay ningún atributo "name"
el tipo de documento que está utilizando no apoyar ese atributo para este elemento. Este error es causado por uso incorrecto del documento "estricto" Tipo
Estoy asumiendo el AJAX requiere correctamente el atributo "nombre" a la función. ¿Cómo puedo solucionar este error de validación? ¿Tengo que cambiar mi tipo de documento?
Solución
Usted no tiene que tener un atributo de nombre en un formulario para AJAX para que funcione correctamente (incluyendo cualquier ColdFusion generada AJAX). Aquí está la información relevante a partir del atributo el elemento cfform :
En formato HTML, si se omite este atributo y especificar un atributo id, ColdFusion no incluye un atributo de nombre en el HTML enviado al navegador; este comportamiento le permite utilizar la etiqueta cfform para crear formas compatibles con XHTML. Si se omite el atributo de nombre y el atributo id, ColdFusion genera un nombre de la formar CFForm_n donde n es un número que se asigna en serie a los formularios de una página.
Respuesta corta: mantener un id, quitar el nombre attribue, y su página validará. No hay que olvidar que el ID debe ser único en todos los elementos de la página.
Otros consejos
Creo que significa el forma nombre de la etiqueta:
<cfform class="SearchForm" id="SearchForm" action="" name="SearchForm">