使用Webix框架创建表单
作为网络设计师,您的机会是您必须定期创建Web表单。这通常是一项令人不愉快的任务,而且头痛(尤其是如果您做更复杂的事情,例如创建多步表格)。在这种情况下,最好使用UI框架缓解疼痛并加快开发过程。在本文中,我将概述各种技巧和技巧,可让您使用Webix Framework快速创建不同类型的表单。 钥匙要点
>简单性和速度:利用Webix JavaScript UI库可显着简化形式创建的过程,从而可以快速开发和集成复杂形式,例如多步和多tab forms。 表单创建中的多功能性:Webix提供了各种形式的元素和配置,包括简单的表单,具有多个选择选项的表单,以及诸如Forms of Forms offorme的窗口小部件的创新用途。
自定义和灵活性:该框架支持广泛的自定义选项,包括创建自定义皮肤和使用视觉设计器工具进行拖放UI创建,符合特定的设计要求。高级功能:Webix提供高级功能,例如选择和建议,增强表单的用户界面和体验。
>- 集成和兼容性:该框架与各种包含在项目中的方法兼容,支持主要的浏览器和设备,并且可以与其他JavaScript框架一起使用,使其适应各种开发环境。
- 什么是webix?
-
Webix是HTML5组件的JavaScript UI库,可促进创建移动和桌面Web应用程序。它为您提供各种组件,从简单的按钮到电子表格小部件,可用于开发类似Excel的应用程序。除了UI组件集合外,还有一个事件处理机制,离线模式支持和一堆开发工具。您还可以使用皮肤构建器创建自己的皮肤,使用Visual Designer进行拖放UI创建,并在在线源代码游乐场中使用代码。该项目还具有详尽的文档。 - >我已经写了一篇介绍性文章,描述了使用此框架的关键功能和基础知识,因此,如果您有兴趣,请随时对其进行查看。 >
包括webix
>您可以在项目中包含所需的JavaScript和CSS文件的多种方式。如果下载库软件包,则会在代码库文件夹中找到这些文件。您可以按以下方式包含它们:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
另外,您可以使用CDN:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="http://cdn.webix.com/edge/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="http://cdn.webix.com/edge/webix.js"</span>></span><span><span></script</span>></span> </span>
您也可以使用nuget:
nuget <span>install Webix </span>
>如果您使用Microsoft Visual Studio,请从Package Manager Console中执行此操作:
install-package Webix
bower install webix
现在,有了库,让我们看看Webix表单如何工作。
我们首先调用Webix对象的UI方法并传递各种参数以配置其输出。
webix<span>.ui({ </span> <span>view: "form", </span> <span>id: "myForm", </span> <span>container: "areaA", </span> <span>width: 350, </span> <span>elements: [ </span> <span>{ // first form component }, </span> <span>{ // second form component}, </span> <span>{ // n-th form component */} </span> <span>] </span><span>}); </span>
视图属性决定创建的元素类型(在这里我们正在创建表单,但这也可以是菜单或图表)。
ID属性将ID分配给表单,您可以稍后将其引用。- >
- 容器属性指定了应向表单渲染的HTML元素的ID。 >宽度属性用于设置表单元素的宽度。 Webix假设您想在此处使用像素作为测量单位,因此您只需要设置一个适当的数字。
- > 元素属性是您的表单所包含的组件数组。您可以在表单中使用任何适当的组件:文本字段,单选按钮,复选框,按钮等
- >让我们创建一个简单的登录表单。我们将需要两个文本字段(一个用于用户名,一个用于密码),一个复选框,当然还有一个提交按钮。
- 请注意,我们正在为我们的表单元素指定名称属性,并为密码字段设置“密码”,以便在输入字符时掩盖它们。设置元素的标签属性定义了该元素的标签,我们可以使用元素的单击属性来定义事件处理程序,该事件处理程序在提交表单时将被调用。尽管有可能检查数据的一切都可以,但请不要忘记客户端验证只能补充服务器端验证。
> >在运行此演示之前,我们需要定义此事件处理程序。在这里,我正在使用Webix消息框,以提供有关输入内容的用户反馈:
此代码使用webix getValues方法从形式中使用myform的ID得出插入的数据,然后使用json.stringify()。
webix<span>.ui({ </span> <span>... </span> <span>elements: [ </span> <span>{ view: "text", label: "Username", name: "username" }, </span> <span>{ view: "text", label: "Password", name: "password", type: "password" }, </span> <span>{ view: "checkbox", labelRight: "I accept the terms of use", name: "accept" }, </span> <span>{ view: "button", value: "Submit", width: 150, align: "center", click: submit } </span> <span>] </span><span>}); </span>
插入一些数据并点击提交按钮后,您将收到消息:
<span>function submit(){ </span> webix<span>.message(JSON.stringify($$("myForm").getValues(), null, 2)); </span><span>} </span>
这是演示:
>请参阅codepen上的sitepoint(@sitepoint)的笔nnbgwm。
似乎一切都很好。现在,让我们添加一些有趣的东西。>
多个选择和建议不同的形式控件允许您选择多个项目或使用建议。至于我,其中最有趣的是Multicombo。这是一个控件,可让您通过简单但直观的接口为输入字段选择多个值。
>注意:最近的Webix版本(2016年4月26日)看到了多功能控制的工作方式。现在仅在Webix Pro版本(付费产品)中可用。
>想象您要创建一个页面,该页面将帮助开发人员生成简历。它可以包含以下字段:
>由于您希望您的用户了解多种编程语言,因此可以撰写此类语言列表,并使用Multicombo组件来展示它们。这是一个可能是什么样子的示例:
除了熟悉的属性外,我们还使用按钮属性和建议属性。 按钮属性创建一个按钮来确认选择,而建议属性定义了要在多医学中显示的项目的来源。在我们的示例中,我们使用数据属性来指定数组的名称以及模板属性来指定要显示的值。也可以设置通往文件的路径(例如,建议:“路径/to/to/file/data.js”),如果要从大源提取不同的数据阵列,则进行t是更好的选择。
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
>您可以滚动并选择所需的项目,或者开始键入以缩小建议::
此特定示例表格将返回一堆与所选项目匹配的ID:
这是此示例的演示。
>作为Multicombo的替代方案,您可以检查GridSuggest和Dataview建议组件。
使用树小部件作为表单元素
>Webix不会将您限制为传统的表单元素,例如文本字段,按钮和复选框。您可以将自己喜欢的任何小部件放在您的表格中。例如,让我们看一下树小部件。它最初不是作为表单控件设计的,这就是为什么该元素没有可用的setValue和getValue方法的原因。但是,如果我们希望能够返回或设置此组件的值,则需要这些方法。那么,我们该怎么办? 幸运的是,有一种可以帮助我们的方法。它允许基于现有的视图创建新视图。
>让我们尝试一下:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
现在,让我们创建一些数据:
>
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="http://cdn.webix.com/edge/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="http://cdn.webix.com/edge/webix.js"</span>></span><span><span></script</span>></span> </span>
>我们在此处介绍了几个新属性:模板属性将复选框添加到树节点,而Threestate属性启用了3态复选框。这些是复选框,其中:
nuget <span>install Webix </span>
当用户检查/取消选中父节点时,请检查/未选中(每个嵌套级别的每个级别)时。
用户检查/取消选中子节点时,只检查单个子节点/未选中。- >
- 如果您使用三州复选框,则应注意一个小问题。选择一个复选框时,Webix会重新呈现树。如果您决定使用键盘填充表单,则当您按下
- space 以切换复选框的选择(对于基于WebKit的浏览器(例如Chrome))时,它可能会导致焦点丧失,您'll从表单的一开始就开始出现。
很高兴,这有一个解决方法。您可以使用On属性将新处理程序附加到树上。我们将使用它与OnItemcheck事件一起使用,该事件在您选择特定的树项目时会发射。使用一些其他方法,我们可以确保焦点安全:
这应该起作用。但这是另一个问题:WebKit在标签时没有标记复选框。为了抵消这一点,您可以使用一些CSS代码在重点的复选框中添加轮廓或框影子。这是一个示例:
install-package Webix
bower install webix
是的,ID已成功提交。
>
>您可以在此处检查此表格:
>请参阅codepen上的sitepoint(@sitepoint)的笔Anjyjr。
多键和多步式
如果您打算从用户那里收集大量数据,则可以将表格分为小部分。让我们看一下两种可能性:由>多个选项卡组成的表单和允许数据插入数据的插入的表单。
> TABVIEW组件创建了一个分隔为选项卡的元素的集合,用户可以在其中切换。您可以将单个元素用作TabView内容,也可以定义包含您想要的元素的行和列的组合。
>
这是一个示例:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
例如:
>这就是创建选项卡式表单所需的全部。您可以检查下面的结果:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="http://cdn.webix.com/edge/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="http://cdn.webix.com/edge/webix.js"</span>></span><span><span></script</span>></span> </span>
>这种方法的额外优势是,无需添加任何额外的代码即可使这些零件作为一个。只需将TABView组件放在您的表单中,将名称属性添加到每个字段中,您就可以获取所有插入的值。单击
按钮确认:
>看起来有些混乱,但这是我们的数据。
键盘可访问性
如果您的意图是使用大量选项卡,并且您想使用
>选项卡键在它们之间切换,则可以在标签栏中使用按钮。这种方法使我们可以将选项卡添加到标签导航订单中。您需要做的就是更改标题属性:
>您应该添加一些CSS代码,以使这些按钮看起来本地:nuget <span>install Webix </span>
返回
时,就会出现它,就好像用户无法(当前)通过键盘与之交互,但它确实提供了有用的视觉辅助。install-package Webix
>您可以看到所有这些在以下演示中一起工作:
>作为替代方案,您可以将手风琴用于此任务。
bower install webix
Multiview Component
> Multiview Component允许我们创建一个元素序列,可以互相查看。您可以使用选项卡在多视频区域之间进行切换,但是由于我们有兴趣创建多步式表单,因此让我们添加按钮以指导用户通过各个阶段。
和 back 按钮工作:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="./codebase/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="./codebase/webix.js"</span>></span><span><span></script</span>></span> </span>
>下一个函数使用Webix的getParentView方法来获取对单击哪个按钮的包含单元格的引用(即当前正在显示的单元格)。然后,它使用多视频组件(FormContent)的ID值来计算下一个单元格。如果有下一个单元格,则使用Show方法将其转换为视图。背面函数使用后面方法开关多视图到先前活动的视图
>可以以与以前定义的TabView元素相同的方式定义多视元素。但是,这次我们应该在每个单元的底部额外放一行。此行将包含控制按钮。如果仅显示一个按钮(如第一个单元格中),我们包括一个空对象。
让我们看看这是什么样子:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="http://cdn.webix.com/edge/webix.css"</span>></span> </span><span><span><span><script</span> src<span>="http://cdn.webix.com/edge/webix.js"</span>></span><span><span></script</span>></span> </span>
>
下一个>按钮,表格的下一部分将出现。
请参阅codepen上的sitepoint(@sitepoint)的笔anjldo。
结论
在本教程中,我展示了Webix使其产生复杂但时尚且易于访问的形式的简单性。该框架将大量强大的小部件放在您的触点上,即使不打算将它们用作形式的组件开箱即用,也可以使用Protoui方法重新定义其行为。
您是否在项目中使用Webix?本教程是否启发了您尝试一下?在下面的评论中让我知道。经常询问有关Webix框架的问题(常见问题解答)
> Webix框架是什么,它如何工作? Webix是一个功能强大的JavaScript UI库,允许开发人员创建丰富的高性能Web应用程序。它提供了100多个完全自定义的小部件,包括数据表,图表,表单等。 Webix通过允许开发人员使用JavaScript创建UI组件来工作,然后可以轻松地集成到任何Web应用程序中。该框架设计为易于使用,具有简单直观的API,并且还支持各种浏览器和设备。
我如何开始使用Webix?开始使用Webix,首先需要从官方Webix网站下载库。拥有库后,您可以通过在HTML文件中添加脚本标签来将其包含在项目中。从那里,您可以开始使用Webix API创建UI组件。官方的Webix文档提供了大量的信息和示例来帮助您入门。 Web开发的强大工具。一些关键功能包括超过100个UI小部件,简单而直观的API,对各种浏览器和设备的支持以及创建复杂的UI布局的能力。此外,Webix还提供了许多高级功能,例如数据绑定,事件处理和AJAX支持。
>> Webix与其他JavaScript UI库相比如何?其他JavaScript UI库有几种方式。首先,它比大多数其他库提供了更大的UI小部件选择,从而使开发人员可以创建更复杂且功能丰富的应用程序。其次,Webix设计为易于使用,具有简单直观的API,可以轻松启动。最后,Webix提供了出色的性能,具有快速的渲染时间和有效的内存使用量。
我可以将Webix与其他JavaScript框架一起使用?
是的,可以与其他JavaScript框架一起使用Webix,例如角,反应和vue.js。这使开发人员可以利用其应用程序中多个框架的优势。例如,您可能会使用Angular来实现其强大的数据绑定功能,而使用Webix进行了丰富的UI小部件选择。>
> webix适合移动开发?是的,webix是完全响应的并支持各种设备,包括手机和平板电脑。对于希望创建移动友好的Web应用程序的开发人员来说,这是一个不错的选择。
>如何自定义Webix应用程序的外观?
> webix提供了多种自定义应用程序外观的方法。您可以使用CSS对UI组件进行样式,也可以使用Webix提供的许多预制皮肤之一。此外,Webix还允许您使用Skin Builder Tool创建自己的自定义皮肤。可以免费使用Webix吗?
webix提供其库的免费和付费版本。免费版本包括有限的小部件和功能选择,而付费版本可访问对各种小部件和功能的访问,以及高级支持。
>>我如何了解有关Webix的更多信息?
>了解更多有关Webix的最佳方法是访问官方Webix网站,您可以在其中找到大量的信息和资源,包括文档,示例,教程等。您还可以在GitHub上加入Webix社区,在那里您可以找到其他资源并与其他Webix开发人员联系。以上是使用Webix框架创建表单的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。
