2013-11-14 17 views
6

ColdFusion 9とcfformをHTML形式で扱う場合、ラベルが付いたページにcfinputを配置すると、テキストボックスの右側にラベルが表示されます。私はタグの使用を試みたが、ラベルの有無にかかわらず、ラベルは常にボックスの右側にある。cfinputのラベルがテキストボックスの右側に表示されています

<cfform method="post" name="mfForm" > 
    <label for="campaign">Mailfile ID:</label> 
    <cfinput type="text" name="campaign" id="campaign"> 
    <cfinput type="submit" name="submit" value="Submit" id="submit"> 
</cfform> 

最近この問題が発生したことを忘れてはいけません。私はHTMLフォームを使うだけですが、cfのautosuggestを利用したいと思います。

+1

私が知りましたところ、これは「autosuggest」属性を使用した場合にのみ発生します。手掛かりを見つけようとするために、このスクリプトを見に行きます。 –

+1

あなたのCSSシートはどんな感じですか? – steve

+0

問題はあなたが 'cfform'と' cfinput'を使っていることです。単純なHTMLを使用するだけです。管理が簡単です。 –

答えて

5

私はそれを言いたくはありませんが、このような率直な言い訳は、組み込みのajax機能を省略し、基礎となるライブラリ(またはいくつかのjQueryの代替)を直接使用することを推奨している理由です。 ColdFusionに同梱されているバージョンに拘束されることはありません。これらのライブラリのほとんどは頻繁に更新されるため、CFにバンドルされているものはしばしば古いものです。 ExtJSは良い例です。公開バージョンはすでにバージョン4.2.1までですが、CF9はまだ3.1.0を使用しています。

とにかく質問に戻る...ビューソースを見ると、CFはいくつかのdivタグを生成します。そのうちの1つには、表示されている動作を説明できるstyle="float:left"指示文が含まれています。

私はクイック検索を行なったし、ここにも適用されることがありdatefieldsためのハック示唆the CF8 docsにノート時に起こった:正しく両方のInternet Explorerで次のコントロールにラベルテキストを表示するには

  • <div style="float:left;">タグにラベルテキストを囲み、タグを3つ入れて、それぞれ 行の間に挿入する必要があります。

だけのdivを追加すると、あなたが投稿したサンプルと私のために働くようだ:

<cfform method="post" name="mfForm" > 
    <div style="float:left;"> 
     <label for="campaign">Mailfile ID:</label> 
    </div> 
    <cfinput type="text" name="campaign" id="campaign" autosuggest="AA,BBB,CCC,DDD"> 
    <cfinput type="submit" name="submit" value="Submit" id="submit"> 
</cfform> 

しかし、再び、あなたはjavascriptのライブラリを使用して、直接の代わりに、内蔵に頼って検討する必要がありますajaxの機能では、このような奇妙なことを避けることができます。

関連する問題