最近在IE6客户端提示一个BUG,"由于该控件目前不可见、未启用或类型不允许,因此无法将焦点移向它"。在相关校验验证时,错误地获取地对象引用并使其获得焦点,则会导致错误。为了避免错误,增加脚本的健壮性,我们需要考虑如何模拟当前用户知道控件是否可见。
不能简单地认为显示隐藏直接设置控件的样式,如style.display或style.visibility的方式。有可能控件上面有层或者其他元素,当控件的上层控件隐藏时,其下层的也继承了这样的属性。为此,我们需要实时地根据用户的环境来进行判断。
通过参考元素的属性,我们寻找到了这样两个可以判断的属性。
offsetWidth
获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。
offsetHeight
获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。
当不可见时,这两个属性值均为0。通过判断这两个属性值,间接知道是否可见。为此,可以设计这样一个函数。
//判断控件是否可见
function isVisible(obj)
{
if(obj==null) return false;
return obj.offsetWidth>0&&obj.offsetHeight>0;
}
比如,如果再次需要验证后获取焦点,你可以这样调用
if(isVisible(object)) object.focus();
相关推荐
6. **实际应用**:在实际项目中,这样的可见性控件可以广泛应用于各种场景,比如响应式设计中根据屏幕尺寸切换元素的可见性,或者在表单验证失败时显示错误消息等。 总的来说,“javascript控件开发之可见控件(2)”...
在JavaScript中判断页面上的控件是否存在是一个非常实用的操作,尤其是在动态页面环境下。动态页面常常涉及根据用户操作、数据加载或其他事件而生成新的控件元素,这种情况下就需要在操作前确认控件是否已经被正确...
在使用HTML开发商业网站时,表单控件是不可或缺的一部分,它们允许用户输入、选择或提交数据。在众多的表单元素中,`<select>` 控件用于创建下拉列表,也就是我们常说的下拉菜单。这个控件常用于提供一系列预设的...
- **Id**:每个表单控件的唯一标识符。 - **InnerHtml**:表单内的HTML内容,这将被转换为实际的HTML输出。 - **InnerText**:表单内的文本内容,这将被转换为实际的HTML输出。 - **Method**:表单提交的方法,默认...
1. **File Upload 控件**:这是一个HTML表单元素,允许用户选择一个或多个文件,并将这些文件发送到服务器端进行处理。在HTML中,它通过`<input type="file">`标签实现。 2. **Customizing the Button Text**:...
总的来说,`readonly`和`disabled`属性为HTML表单控件提供了不同的交互限制,开发者可以根据场景灵活运用,确保用户体验的同时满足系统需求。在设计表单时,正确使用这两个属性能有效提高表单的可用性和数据处理的...
服务器端表单进一步扩展了HTML表单的功能,通过添加`runat="server"`属性,使得表单及其控件成为服务器端对象,可以在服务器端进行处理。服务器端表单可以使用HTML控件、HTML服务器控件或ASP.NET控件,无需指定...
4. 表单控件:如FormView(表单视图)和DetailsView(详细视图),用于编辑和显示单一记录。 5. 模态对话框控件:如ModalPopupExtender(模态弹出扩展器),可以在页面上弹出一个模态对话框。 6. 验证控件:如...
表单控件是用户与表单交互的元素,主要包括: 1. 文本输入框:`<input type="text">` 用户可以在这里输入文本,通常用于姓名、邮箱等字段。 2. 密码输入框:`<input type="password">` 输入内容以星号或圆点显示...
4. 渲染Tree控件:将TreeView对象附加到HTML文档的某个元素上,使树形结构可见。 5. 添加事件监听器:可以为节点添加点击事件或其他交互事件,以实现自定义功能。 接下来,我们转向CSS表单操作。CSS(层叠样式表)...
在Web开发领域,HTML的`<select>`控件是一个至关重要的元素,用于创建下拉列表,用户可以从预设的选项中进行选择。JavaScript是增强网页交互性和动态效果的关键技术,它提供了丰富的API来操作和处理这些HTML元素,...
`selectDate(date)`函数则用于处理用户的选择,将选中的日期高亮显示,并可能更新HTML表单中的隐藏字段,以保存用户的选择。 `readme.txt`文件通常提供了一些使用指南或开发者注释,比如如何在自己的项目中引入这个...
总结来说,HTML表单是网页与用户交互的关键工具,理解表单控件、属性以及GET和POST方法的区别,有助于创建高效、安全的用户输入界面。在实际开发中,还需要考虑表单验证、错误处理和用户体验等方面,以提供更好的...
1. **控件属性**:每个控件都有其独特的属性,如文本、大小、颜色、可见性等,通过修改这些属性可以调整控件的外观和行为。 2. **事件处理**:了解如何编写事件处理函数,当用户与控件交互时(如点击按钮、输入文本...
- 显示/隐藏:显示是指使控件可见,隐藏则是使其不可见但保留其在DOM(文档对象模型)中的位置。 2. **CSS样式控制** - `display`属性:CSS中,`display`属性用于定义元素的显示方式。设置为`none`时,元素将不...
- `Visible`: 控制控件在页面上是否可见。 在实际应用中,可以通过编程方式检查用户在提交表单时选择了哪个单选按钮,然后根据用户的选择执行相应的逻辑。例如,可以创建多个`HtmlInputRadioButton`,并将它们的`...
HTML表单是网页设计中不可或缺的一部分,用于收集用户输入的数据,如登录信息、搜索查询、调查问卷等。本文将深入探讨HTML表单的各个方面,帮助读者掌握其详细使用方法。 一、HTML表单基础 HTML表单通过`<form>`...
- **属性**:如Document对象提供对当前加载网页的DOM(文档对象模型)的访问,Url属性获取或设置当前网页的URL,Visible属性控制WebBrowser控件是否可见。 - **事件**:如Navigating事件在开始导航时触发,...
在网页开发中,日历控件是一个常见且实用的组件,它可以帮助用户方便地选择日期,常见于表单输入、事件预订或者时间管理等场景。"JQ版本自定义日历控件"是指利用jQuery来实现一个可自定义的日历插件。接下来,我们将...
本资源“Jquery 表单验证控件(tip提示效果).zip”显然聚焦于jQuery在表单验证中的应用,尤其是提供了一种提示效果。这通常涉及到在用户填写表单时,实时地向他们显示错误或成功信息,提升用户体验。 1. **jQuery...