- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 ExtJS FormPanel 中使用 anchor 参数。 FormPanel 在 Window 内,我希望在调整 Window 大小时,文本字段和文本区域也会调整大小。理想情况下直到右边距 5 个像素。作为最后一个元素的文本区域应占用所有剩余的垂直空间(负 5 像素)。
我使用 width: '94%' 取得了一些成功,但我想使用 anchor ,因为它似乎是一个更精确的位置。
这是我尝试过的:
var formItems = [
{
fieldLabel: 'To',
allowBlank: false,
anchor: '-5'
},
{
fieldLabel: 'Subject',
allowBlank: false,
anchor: '-5'
},
{
fieldLabel: 'Message',
xtype: 'textarea',
allowBlank: false,
anchor: '-5 -5'
}
];
var form = new Ext.form.FormPanel({
frame: true,
labelWidth: 55,
defaultType: 'textfield',
items: formItems
});
var win = new Ext.Window({
title: 'Testing',
width: 600,
height: 300,
items: form
});
win.show();
我怀疑解决方案可能是对 FormPanel 使用 AnchorLayout,但我不确定。
更新:这是我的测试。
http://doc.obliquid.com/dev/formLayout/test1.html使用百分比宽度和高度,调整大小在水平方向上正常,但在垂直方向上不起作用。
http://doc.obliquid.com/dev/formLayout/test2.html是@owlness 完全独立的建议。它大部分工作,除了一个错误:文本区域实际上离开了窗口。要看到这一点,只需在文本区域内键入直到滚动条出现,您会看到它从窗口中消失。
http://doc.obliquid.com/dev/formLayout/test3.html由于 style.css 样式表,当我在我的应用程序中尝试@owlness 的建议时出现在我身上。
http://doc.obliquid.com/dev/formLayout/test4.html与没有 form {display:inline} 样式的 test3.html 相同。越来越好。
http://doc.obliquid.com/dev/formLayout/test5.html与没有 label {margin-right:20px;} 和 input {margin-top:7px;} 的 test4.html 相同,现在与 test2.html 相同.
现在的问题是如何让文本区域留在窗口中,最好有底部边距。
更新 2:我通过将文本区域的 anchor 设置更改为 anchor: '100% -51' 解决了文本区域的问题。我通过反复试验找到了数字 -51,它大约是前两个字段的高度。我不太高兴有一个神奇的数字,但它确实有效。如果有人知道更好的解决方案...
最佳答案
Ext.form.FormPanel 默认使用 anchor 布局。您需要的是 Ext.Window 实例上的“适合”布局,以便表单本身可以自动调整大小:
var win = new Ext.Window({
title: 'Testing',
width: 600,
height: 300,
layout: 'fit',
items: form
});
此外,让字段填充表单宽度同时保留一些填充的更简洁的方法是将它们的 anchor 设置为 100%:
{
fieldLabel: 'To',
allowBlank: false,
anchor: '100%'
}
...然后在表单上填充:
var form = new Ext.form.FormPanel({
labelWidth: 55,
padding: 5,
defaultType: 'textfield',
items: formItems
});
关于javascript - extjs:在 FormPanel 中忽略 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5934589/
我正在尝试将 FormPanel 嵌套在另一个 FormPanel 中。似乎嵌套面板中的任何字段都不会被渲染。 此屏幕截图由其下方的代码生成: TabItem tabItem = new TabIte
我有一个相当复杂的设置,我已将其归结为以下代码。我有一个外部 FormPanel,我试图在其中包含一个子类 FormPanel 的组件。在 FF 中,它会导致“this.body is null”错误
我正在使用 extjs,只是想解决一个简单的问题: 我有一个固定宽度的表格。我想在普通的 Ext.Panel 中将此表单居中。 我正在尝试通过“css-way”来实现这一点——将左右边距设置为“自动”
这是我的代码,我需要按钮位于文件字段的下方,但按钮没有出现在任何地方,有什么问题吗? Ext.define('Academico.view.etpPersonalizada.Edit', {
我正在编写一个应用程序,其中整个页面都有一个 BorderLayout。在南部,我有一个面板,我在其中添加了 FormPanel。我希望能够滚动该面板,以便可以滚动浏览 FormPanel。 到目前为
我正在使用 ExtJS 3.2(必须在这个版本的 ExtJS 中)。当我显示一个带有表单面板的面板时,一切看起来都很好,但是当我使用右上角的 [X] 按钮关闭面板并再次打开时,每个字段标 checko
我有一个函数: function saveToJ(feature) { var str = new OpenLayers.Format.GeoJSON(out_options).write(f
我有下一个问题...当我提交表单并且我的 Post 方法结束时。形成(或不形成)抛出空警报窗口。我怎样才能删除这个抛出窗口? 客户端 .... final Fo
我有一个看起来像这样的可编辑 FormPanel: 我现在想显示相同的表单,但数据只是可见而不是可编辑的,即数据只是显示为文本,而不是在文本框中。 我可以将 defaultType 从 textfie
我有一个带有复选框树的 FormPanel,它是在创建时添加的。现在我想更改面板内所有复选框的通用名称模式。根据 DOM,名称已正确更改,但是当我提交表单时,仍然提交了旧名称。尝试调用 .doLayo
我有一个带有 3 个按钮的 formPanel(Filtrar、Limpiar 和 Nuevo Borrador)。我试图在一行中显示两个按钮( Filtrar 和 Limpiar )并在此按钮下显示
我有 ExtJS View-Port panel,它包含 center 面板,它包含 tablpanel,我在其中添加了 gridpanel 在一个选项卡中,在此我将 Add Person 按钮放在
我有一个 FormPanel,它基本上由一个 FileUpload 组成。我想要做的是:编辑时,在文件上传字段的右侧显示已上传图像的缩略图。我的元素看起来像这样: items = [ { al
基本上我有一个窗口,其中包含一个带有项目的 formPanel,它在多个地方共享。这意味着 formPanel 的项目可能略有不同。 (控件的类型)。 我已经设法为窗口中的适当情况动态清除和添加自定义
使用 extjs,我有一个固定宽度的 formPanel。我想在普通网页中将此表单居中,这样即使我最小化浏览器,表单也会出现在中心。我没有使用外部容器,只是一个带有 html/css 页面的简单表单面
我有一个 GWT 应用程序,我需要将 FormPanel 用于包装文本框 (TextBox)。 (解决一些样式问题) 编辑:样式问题是:我们正在使用一些预构建的样式表,它通过 HTML 标签名称放置样
在特定的fieldset中动态添加文本框,这里的field set是Extra,因为我在表单中有很多fieldset,所以这里我只分享一个fieldest的代码。 例如, var extraData
我开始使用 ExtJs。我正在构建一个非常简单的登录表单: Ext.onReady(function () { Ext.QuickTips.init(); // turn on val
我将如何选择 FormPanel 的所有子组件属于组件类型 TextField ? 我只想循环遍历 TextField组件并将它们的值设置为 "" . 我在 FormPanel 上的一个方法中有这个
我有一个包含 3 列的 FormPanel。每列是 FormPanel 宽度的 33%。看起来像这样: searchForm = new Ext.FormPanel({ frame: true
我是一名优秀的程序员,十分优秀!