我主要根据自己在实战中解决问题的经过来阐述,这样比较符合逻辑。
第一,如何在 Ext.FormPanel/Ext.form.FormPanel
的 FieldSet
中实现html文本超链接
呢?
刚开始,我是用
Ext.form.TextField
中的
fieldLabel
属性实现该功能。
具体实现代码如下(下面的属性设置可以根据实际需要自己取舍):
{
columnWidth : 0.03,
labelSeparator : ' ',
labelWidth : 30,
items : [{
xtype : 'textfield
',
id : 'file2',
hidden: true, // 初始化为隐藏
状态,如要显示,则调用 Ext.getCmp('file2').show();
否则
调用
// Ext.getCmp('file2').hide(); 这些在API Documentation 中已描述的非常清楚
style:'border-color:#fff #fff #000;background:#fff',
fieldLabel
: '
<a href=../attachment/zdzxywctjb.doc><font color=red>模版</font></a>
',
readOnly : true,
anchor :'0%'
}]
}
可是当单击
"模版
"时,光标总是定位到
TextField 的输入中,并且出现多余的下划线(刚开始该线是没有的),给人的感觉很不爽。经过一段时间的尝试,还不能得到我想要的结果,于是只好另辟蹊径了。如谁能把这个bug解决,麻烦告诉我一声,thanks a lot in advance!
不好意思,我在最后总结之后:
明白了外层的 id 和 hidden 属性可以控制这个 TextField ,
而里面层的 id 和 hidden
属性只能控制 input 域
,
这也是我解决这个问题
关键所在。我感觉这可以实现的,自己尝试了一下,结果可以了,多亏这次自己好好总结。实现代码如下(可以和上面代码做个比较,以便更深入理解蓝色字的本质内涵):
{
columnWidth : 0.05,
labelWidth : 30,
id: 'file2',
hidden: true,
items : [{
xtype : 'textfield
',
hidden: true,
id: 'file22',
labelSeparator : ' ',
style:'border-color:#fff #fff #000;background:#fff',
fieldLabel : '<a href=../attachment/zdzxywctjb.doc><font color=red>模版</font></a>',
readOnly : true
}]
}
接着,我就用Google搜索和查找API,得到点子,尝试利用 Ext.form.Label
中的 html
属性实现该功能。具体代码如下所示:
{
columnWidth : 0.13,
labelWidth : 40,
readOnly: true,
items : [{
id
: 'file2',
hidden: true, // 初始化为隐藏
状态,如要显示,则调用 Ext.getCmp('file2').show();
否则
调用
// Ext.getCmp('file2').hide(); 这些在API Documentation 中已描述的非常清楚
xtype : 'label',
html: '<a href=../attachment/zdzxywctjb.doc><font color=red>模版</font></a>'
}]
}
很幸运的是,我尽然成功了!我对于 ExtJS 来说是个初学者(1个月不到),这对我来说是巨大的鼓舞。第一个功能解决到此为止,非常感谢你的关注。
第二,如何显示/隐藏
TextField 的这个范围(包括Label、input)?
实现代码如下:
{
columnWidth : 0.35,
labelWidth : 200,
id: 't2',
hidden: true
, //
隐藏
TextField 的这个范围
items : [{
xtype : 'textfield',
id : 'title2',
//
hidden: true
,
labelSeparator : ' ',
style:'border-color:#fff #fff #000;background:#fff',
fieldLabel : '2. 重大专项推荐表:  ',
readOnly : true
}]
}
我不知道你是否注意到了,上面在设置了2个 id 属性,这也是我实战中碰到的
问题。刚开始时,
没有包括
id: 't2' 和 外层的 hidden ,而包括里面层的 hidden。这导致我想要隐藏这个TextField 时,总是隐藏不了 Label 域。当我把 hidden 拿到外层时,调用 Ext.getCmp('title2').show(); 却不能显示这个
TextField
。这是我就想,里面层的 id 的对外层的显示不起作用,这说明了作用域的问题。于是,我顺藤摸瓜,明白了外层的 id 和 hidden 属性可以控制这个 TextField ,
而里面层的 id 和 hidden
属性只能控制 input 域
。这也是我解决这个问题
关键所在
,我想这肯定对你有所帮助。
版权声明:
如果大家要转载本文,我非常荣幸。但请参加转载网址,谢谢!
分享到:
相关推荐
1. `form`:`Ext.FormPanel`是EXT JS中的表单面板,它是一个容器,可以容纳各种表单字段和其他组件。表单面板允许你定义布局、提交行为以及处理表单数据的方法。 2. `checkbox`:`Ext.form.Checkbox`是用于创建复选...
在这个例子中,通过`new Ext.FormPanel`来创建了一个表单面板,并设置了一些关键属性: - `frame`: 设置为`true`,表示表单周围有一个边框。 - `width` 和 `height`: 分别设置了表单的宽度和高度。 - `layout`: ...
**2.16 Form Panel (Ext.FormPanel)** - **xtype**: `form` - **功能描述**:Form Panel 是一个包含表单字段的面板。 - **主要用途**:用于创建和管理表单,支持数据验证和提交。 **2.17 Checkbox (Ext.form....
- `textfield`:`Ext.form.TextField`,单行文本输入框。 - `trigger`:`Ext.form.TriggerField`,触发式输入框,常用于日期或搜索框。 - `checkboxgroup`:`Ext.form.CheckboxGroup`,自2.2版本起,用于组织多个...
7. **`fieldset`** - `Ext.form.FieldSet`,表单字段组,用于将一组相关的表单字段组合在一起。 8. **`hidden`** - `Ext.form.Hidden`,表单隐藏域,用于存储需要但不需要显示的信息。 9. **`htmleditor`** - `...
为了更好地组织表单元素,可以在Ext中使用`fieldset`组件来实现更复杂的布局。例如,将表单分为不同的区域,以便于管理和区分各个部分的信息。 ```javascript Ext.onReady(function() { var form = new Ext.form....
- **`Class`**: `Ext.FormPanel/Ext.form.FormPanel` - **描述**: 表单面板,用于组织表单字段。 2. **`checkbox`:** - **`xtype`**: `checkbox` - **`Class`**: `Ext.form.Checkbox` - **描述**: 复选框组件...
1. FormPanel:EXT中的FormPanel是用于构建表单的基本容器,它可以包含多个表单字段和其他组件。 2. 字段组件:EXT提供了多种内置的表单字段,如TextField(文本输入)、ComboBox(下拉框)、CheckBox(复选框)、...
**Ext.form.TextField** - **描述**: 表单文本框,用于输入单行文本。 - **用途**: 输入用户名、邮箱等。 **Ext.form.TriggerField** - **描述**: 触发录入项,结合图标和文本框,点击图标触发特定操作。 - **用途*...
<link rel="stylesheet" type="text/css" href="/resources/css/ext-all.css"/> <link rel="stylesheet" type="text/css" href="/resources/css/file-upload.css"/> ``` - **作用**:为页面添加样式,使界面更...
Ext.form.Field.prototype.msgTarget="under"; var fset = new Ext.FormPanel({ title:"学习表单字段元素的字段集", width:600, height:400, frame:true, renderTo:"myForm", items:[ {xtype:"fieldset", ...
### ExtJS Panel 常用方法详解 #### 一、属性介绍 在开始探讨 ExtJS Panel 的常用方法之前,我们先来...需要注意的是,在实际开发过程中,还需要根据项目需求选择合适的 xtype 和方法组合,以实现最佳的用户体验。
ExtJS是一个用于构建Web应用的强大JavaScript框架,它提供了丰富的用户界面组件和数据处理能力。其中,表单组件在Web应用中扮演着...通过学习和掌握上述知识点,开发者可以快速地在ExtJS项目中实现高质量的表单应用。
表单面板(FormPanel)和各类字段如复选框(Checkbox)、组合框(ComboBox)、日期字段(DateField)、隐藏字段(Hidden)、HTML编辑器(HtmlEditor)、数字字段(NumberField)、单选按钮(Radio)、文本区域(TextArea)、文本字段...
`xtype`是Sencha框架(如Ext JS和Sencha Touch)中用于组件类型的扩展名,它允许开发者通过一个简短的字符串来创建各种组件。这种机制极大地简化了代码,使得开发人员能够快速地构建复杂且功能丰富的用户界面。 ###...
- **表单及字段组件**:包括FormPanel、Checkbox、ComboBox、DateField、Field、FieldSet、Hidden、HtmlEditor、NumberField、Radio、TextArea、TextField和TimeField等,用于创建和管理用户输入。 EXT JS的文件...