我不想这么说,但坦率地说,像这样的怪癖就是为什么许多人建议放弃内置的 ajax 功能并直接使用底层库(或一些 jQuery 替代品)的原因。您将拥有更大的控制权、更多的选择,更不用说您不会被 ColdFusion 附带的任何版本所束缚。这些库中的大多数都经常更新,因此在一年内与 CF 捆绑在一起的库通常已经过时了。ExtJS就是一个很好的例子。公版已经到了4.2.1版本,但是CF9还是用3.1.0。
无论如何,回到你的问题......如果你做一个查看源代码,你会看到 CF 生成几个div
标签,其中一个包含style="float:left"
指令,它可以解释你所看到的行为。
我进行了快速搜索,并偶然发现了 CF8 文档中的一条注释,该注释建议对日期字段进行 hack,这也可能适用于此处:
- 要在 Internet Explorer 和 Firefox 中正确显示控件旁边的标签文本,您必须将标签文本括在
标签中,并在每行之间
<div style="float:left;">
放置三个标签。<br>
对于您发布的示例,只需添加 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 功能,这样您就可以避免这样的怪异现象。