2

次のマークアップ検証エラーの解決策を知っている人はいますか?これが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」属性に関連付けられています。エラーメッセージは次のとおりです。

属性「名前」はありません

使用しているドキュメントタイプは、この要素のその属性をサポートしていません。このエラーは、多くの場合、「厳密な」ドキュメントタイプの誤った使用が原因で発生します。

AJAXが正しく機能するには「name」属性が必要だと思います。この検証エラーを解決するにはどうすればよいですか?ドキュメントタイプを変更する必要がありますか?

4

2 に答える 2

1

AJAXが正しく機能するためにフォームにname属性を設定する必要はありません(ColdFusionで生成されたAJAXを含む)。cfform要素のname属性からの関連情報は次のとおりです。

HTML形式では、この属性を省略してid属性を指定すると、ColdFusionはブラウザに送信されるHTMLにname属性を含めません。この動作により、cfformタグを使用してXHTML準拠のフォームを作成できます。name属性とid属性を省略すると、ColdFusionはフォームCFForm_nの名前を生成します。ここで、nは、ページ上のフォームに連続して割り当てられる番号です。

簡単な答え:IDを保持し、名前の属性を削除すると、ページが検証されます。idはページ内のすべての要素で一意である必要があることを忘れないでください。

于 2010-03-05T13:23:47.630 に答える
0

フォームタグ名を意味すると思います:

<cfform class="SearchForm" id="SearchForm" action="" name="SearchForm">
于 2010-03-05T13:12:14.603 に答える