2013-11-14 94 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標籤,其中一個包含style="float:left"指令,這可以解釋你所看到的行爲。

我做了快速搜索,並在the CF8 docs這表明一劈爲datefields也可申請在這裏偶然發現一張紙條:

  • 要在Internet Explorer中正確顯示旁邊的控制標籤文本和Firefox,必須將標籤文本包圍在 <div style="float:left;">標籤中,並在每個 行之間放置三個<br>標籤。

簡單地增加股利似乎是我與你貼在樣品的工作:

<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功能,所以你可以避免這樣的怪事。

相關問題