erreur de validation lors de l'utilisation de balisage formulaire ColdFusion
-
24-09-2019 - |
Question
Quelqu'un sait-il d'une solution à l'erreur de validation de balisage suivant? Je ne sais pas si cela est un problème dans ColdFusion ou mon propre code, mais la sortie de l'extrait suivant ne valide pas correctement le service de validation de balisage W3C:
code
<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>
Sortie HTML
<form id="SearchForm" action="" method="post" class="SearchForm" onsubmit="return _CF_checkCFForm_1(this)">
L'erreur de validation est associée à l'attribut « nom » que ColdFusion attribue automatiquement. Le message d'erreur est le suivant:
il n'y a pas d'attribut "name"
le type de document que vous utilisez ne ne supporte pas cet attribut pour cette élément. Cette erreur est souvent causée par une mauvaise utilisation du document « Strict » Type
Je suppose l'AJAX nécessite l'attribut « nom » pour fonctionner correctement. Comment puis-je résoudre cette erreur de validation? Dois-je changer mon type de document?
La solution
Vous ne devez pas avoir un attribut name sur un formulaire pour AJAX fonctionne correctement (y compris tout ColdFusion généré AJAX). Voici les informations pertinentes du nom attribut l'élément de cfform :
En format HTML, si vous omettez cet attribut et spécifiez un attribut id, ColdFusion ne comprend pas un attribut de nom dans le code HTML envoyé au navigateur; Ce comportement vous permet d'utiliser la balise cfform pour créer des formes compatibles XHTML. Si vous omettez l'attribut de nom et l'attribut id, ColdFusion génère un nom de la former CFForm_n où n est un nombre qui est attribué en série aux formes sur une page.
Réponse courte: garder un id, supprimer le nom ATTRIBUÉS et votre page validera. Ne pas oublier que id doit être unique dans tous les éléments de la page.
Autres conseils
Je pense que cela signifie que la forme nom de la balise:
<cfform class="SearchForm" id="SearchForm" action="" name="SearchForm">