整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

基于jQuery,这六大表单向导插件首推!

Query表单向导是一个jQuery插件,与某种表格流协助表单创建(不用刷新页面)。举个例子,如果你有一个巨大的表格来输入用户数据,你可以使用表单向导来将其分成一系列相关步骤。这一优点使用户不会被超长表单吓到,并且当用户输入信息时为其提供一些进度指示。

在这篇文章中,我们列出了开发者最喜欢的六大jQuery表单向导,考量了它们的不同功能以及如何创立你自己的向导。这不会是一个冗长的列表,如果你正在寻找一个jQuery表单向导,这一定会为你指明正确的方向。

此列表在2017年8月30日更新,从列表中删除了损坏和弃用的插件,并加入了新的插件来提供开发者要求的功能。

1. jQuery Steps

jQuery Steps是一个智能UI元素,使开发者可以很方便地创建向导界面。这个插件将内容分成区块来形成更有结构和顺序 的页面外观。它有多种功能,例如、状态保持(这会保存你每一步的输入)以及每个区块的过渡效果。它可以通过NuGet或者bower安装,拥有内容和功能丰富的API。

2. jQuery Smart Wizard

Smart Wizard是一个灵活且高度客户化的jQuery步骤向导插件,有Bootstrap支持。它很容易执行,并且可以为你的表单、检出屏幕、注册步骤创建一个整洁而时髦的界面。它的功能包括主题支持(包括了多个主题)、URL导航、步骤选择和动态隐藏或关闭步骤。它可以通过npm、bower和composer安装,拥有内容和功能丰富的API。

3. formToWizard

这个小型插件可以用jQuery将任何网络表格转换成多步骤的向导,每个表格<fieldset>可以转换成具有前进和后退按键的单独步骤。虽然它没有像前两个插件那么多的功能,但它和jQuer确认插件整合,来提供确认功能。它是一个单独的文件(所以你可以从GitHub上将其提取下来),如果JavaScript不可用,它会慢慢的退化。

4. jQuery Stepy

jQuery Stepy是一个生成可客户化表格的向导。它假定表格有特定的结构,其中有特定的类。然后你只需要初始化插件,然后就拥有了表单向导。

此插件没有任何预先设定的风格。但是,它提供了丰富的选择,例如可以在步骤之间导航,提供前进、后退和完成按钮与过渡效果,与任何你选用的确认插件整合。它提供了合理的API,例如允许你触发步骤间的召回,或者当前步骤的确认后的召回。

5. Twitter Bootstrap Wizard

这个Twitter Bootstrap插件利用形式可转换结构建造向导。它允许用户利用按钮来建造一个向导功能,来遍访不同的向导步骤和实践,并分别接入每一步。此插件关键的优势在于它和Bootstrap紧密整合。它有一些基本功能,例如确认、进度条和创建或移除步骤的能力。另外,为了简单地从GitHub中复制插件,它还可以通过Bower(虽然并不推荐)来安装。它有不错的内容且提供了基础的API。

6. jQuery.wizard

最后要介绍的是jQuery.wizard。这是一个不同的表单向导,支持分支——在评论中被要求的功能之一。

基本结构包括步骤和分支,后者是选择性的。一个简单的线性表格可能只要求一个包含所有步骤的分支,但复杂的表格可能要求用到多个分支,甚至是极为复杂的分支。开发者需要处理表单中步骤和分支的数量。向导采用了不同的有限步骤决定怎样自身导航。

这一插件的内容前所未有的丰富,提供了扩展API。它可以通过npm或者Bower来安装,与Internet Explorer 6之后的所有版本兼容。它可以和多种其他插件整合,包括最受欢迎的jQuery Validation。你可以通过复制回复并在浏览器中查看examples/index.html来查看不同的例子。

彩蛋

开源软件的世界很精彩,在为新项目选用插件时可以坐享极丰富的选择。但是,这并不意味着我们应该躲避为有真正作用的软件付费。以下是两种需要付费的表单向导插件。我推荐你们去看一看它们,说不定会对你有用:

  • Form Wizard – Multi Step Form Validation(下载链接:https://codecanyon.net/item/form-wizard-multi-step-form-validation/19613591)

  • Timon – Step Form Wizard + jQuery Step Form Builder(下载链接:https://codecanyon.net/item/timon-step-form-wizard/15830006)

最后,如果你是那种喜欢弄懂所有事情的原理,不喜欢使用插件,那么你可能会想要看一看以下这些教程,告诉你如何通过探索来创建一个表单向导。

  • Turn any webform into a powerful wizard with jQuery(地址:http://www.jankoatwarpspeed.com/turn-any-webform-into-a-powerful-wizard-with-jquery-formtowizard-plugin/)

  • Multistep Form With Progress Bar Using jQuery And CSS(地址:http://talkerscode.com/webtricks/multistep-form-with-progress-bar-using-jquery-and-css.php)

结论

你已经拥有6个jQuery表单向导插件的详尽概览,每一个插件都有不同的功能和特点。根据项目要求来选用它们,希望你可以从这篇文章中找到对你有所帮助的内容。如果有什么遗漏请告知我们,或者通过下方评论告诉我们你最喜欢的插件是哪一个。

jExcel是一个轻量级的原生javascript插件,用于创建与Excel或任何其他电子表格软件兼容的基于Web的交互式表格和电子表格。可以从JS数组,JSON,CSV或XSLX文件创建在线电子表格表。可以从excel复制并直接粘贴到jExcel电子表格,反之亦然。集成任何第三方javascript插件非常容易,可以创建自己的自定义列,自定义编辑器,并在应用程序中自定义任何功能。jExcel通过其原生列类型提供了大量不同的输入选项,以涵盖最常见的基于Web的应用程序需求。它是Web数据管理的完整解决方案。使用jExcel javascript电子表格创建出色的应用程序。



开源地址

https://github.com/paulhodel/jexcel

主要优点

  • 制作丰富且用户友好的Web界面和应用程序
  • 可以使用用户的方式轻松处理复杂的数据输入。
  • 改善用户软件体验
  • 创建丰富的CRUDS和漂亮的UI
  • 与excel的兼容性:用户可以使用常见的复制和粘贴快捷方式移动数据
  • 通过简单的第三方插件集成轻松进行自定义
  • 精益,快速且易于使用
  • 成千上万的成功用户案例
  • 加快处理基于Web的软件中的复杂数据输入的工作

安装使用

npm install jexcel

  • 简单示例

将javascript电子表格集成到站中,创建您的第一个在线电子表格的基本示例:

1、首先引入相关js和css文件

<script src="./jexcel/v3/jexcel.js"></script>
<script src="./jsuites/v2/jsuites.js"></script>
<link rel="stylesheet" href="./jsuites/v2/jsuites.css" type="text/css" />
<link rel="stylesheet" href="./jexcel/v3/jexcel.css" type="text/css" />

2、定义一个基于div的容器并编写js



<div id="mytable"></div>
<script>
 data = [
 ["苹果", 0, 1],
 ["草莓", 1, 2],
 ["西瓜", 2, 3]
 ];
 jexcel(document.getElementById("mytable"), {
 data: data,
 colWidths: [300, 80, 100]
 });
</script>

3、打开浏览器查看效果

就这么几句简单的代码就像打开了一个无限简化的Excel一般



查看DEMO

Github上提供了相关Demo,我们一起来看一看都有哪些

  • 搜索和分页
jexcel(document.getElementById('spreadsheet'), {
 csv:'https://bossanova.uk/jexcel/v3/demo.csv',
 csvHeaders:true,
 search:true,
 pagination:10,
 columns: [
 { type:'text', width:300 },
 { type:'text', width:200 },
 { type:'text', width:100 },
 { type:'text', width:100 },
 { type:'text', width:100 },
 ]
});


  • 列类型支持
  1. text
  2. numeric
  3. hidden
  4. dropdown
  5. autocomplete
  6. checkbox
  7. radio
  8. calendar
  9. image
  10. color

var data = [
 ['Jazz', 'Honda', '2019-02-12', '', true, '$ 2.000,00', '#777700'],
 ['Civic', 'Honda', '2018-07-11', '', true, '$ 4.000,01', '#007777'],
];
jexcel(document.getElementById('spreadsheet'), {
 data:data,
 columns: [
 { type: 'text', title:'Car', width:120 },
 { type: 'dropdown', title:'Make', width:200, source:[ "Alfa Romeo", "Audi", "Bmw" ] },
 { type: 'calendar', title:'Available', width:200 },
 { type: 'image', title:'Photo', width:120 },
 { type: 'checkbox', title:'Stock', width:80 },
 { type: 'numeric', title:'Price', width:100, mask:'$ #.##,00', decimal:',' },
 { type: 'color', width:100, render:'square', }
 ]
});


  • 下拉框

var data = [
 ['US', 'Wholemeal', 'Yes', '2019-02-12'],
 ['CA;US;UK', 'Breakfast Cereals', 'Yes', '2019-03-01'],
 ['CA;BR', 'Grains', 'No', '2018-11-10'],
 ['BR', 'Pasta', 'Yes', '2019-01-12'],
];
jexcel(document.getElementById('spreadsheet'), {
 data:data,
 columns: [
 { type:'dropdown', width:'300', title:'Product Origin', url:'/jexcel/countries', autocomplete:true, multiple:true },
 { type:'text', width:'200', title:'Description' },
 { type:'dropdown', width:'100', title:'Stock', source:['No','Yes'] },
 { type:'calendar', width:'100', title:'Best before' },
 ]
});


  • 日期时间选择框

var data = [
 ['Flag Fen', 'South East', '2019-01-01'],
 ['Bristol Aero Collection (BAC)','South West','2019-04-03'],
 ['Experience Barnsley', 'North','2018-12-03'],
 ['Cinema Museum', 'London',''],
 ['University of Hertfordshire Art Collection', 'South East',''],
 ['LUX London', 'London','2016-11-03'],
];
jexcel(document.getElementById('spreadsheet'), {
 data:data,
 columns: [
 {
 type:'text',
 title:'Museum',
 width:'300',
 },
 {
 type:'dropdown',
 title:'Region',
 source:['South East','South West','North','London'],
 width:'200',
 },
 {
 type:'calendar',
 title:'Last visit',
 options: { format:'DD/MM/YYYY' },
 width:'100',
 },
 ]
});


  • 上传图片到表格


jexcel(document.getElementById('spreadsheet'), {
 data:data,
 columns: [
 { type:'text', width:300, title:'Title' },
 { type:'image', width:120, title:'Cover' },
 ]
});


  • 表格操作

插入,移除和移动列和行,这块就是表格的相关操作了,都可以通过相关API实现



  • 表头

jExcel电子表格使用指令nestedHeadrs本机实现嵌套头文件,如下面的示例所示。



  • 导出

导出非常简单,就调用一个方法


mySpreadsheet = jexcel(document.getElementById('spreadsheet1'), {
 csv:'https://bossanova.uk/jexcel/v3/demo.csv',
 csvHeaders:true,
 columns: [
 { type:'text', width:70 },
 { type:'text', width:200 },
 { type:'text', width:300 },
 ]
});
document.getElementById('download').onclick = function () {
 mySpreadsheet.download();
}



由于相关示例比较丰富,包括合并单元格、懒加载等丰富的功能等再此就不在展示,已经对它感兴趣的小伙伴不妨直接去体验下,就能感受到它的强悍了!并且还提供了包括React、Vue、jQuery等在内的相关实现,这样你就可以更好的集成到你的相关项目中去了,非常的人性化!

总结

jExcel是一个非常简单而且功能丰富的Web端JavaScript电子表格,就和名字一样,就如同是Web端的Excel,相当于是Excel的表格模块,无论是处理数据还是用户操作比普通的HTML表格强上无数倍,相信已经有小伙伴想去尝试一番了,赶紧试试吧!希望对你有所帮助!

者:Creative Tim

译者:Echa攻城狮

转发链接:https://www.creative-tim.com/blog/web-design/top-form-generator-components-vuejs/

前言

Vue.js作为一种灵活的技术而越来越流行,并且可以帮助创建灵活而又现代的应用程序而不浪费资源。它的灵活性,可伸缩性,方便的约定,尺寸效率和渐进性使该框架在其他方面脱颖而出。 如果要构建小型应用程序或大型应用程序,则表单输入是收集相关用户数据的最佳来源。表单生成器组件提供了重用捕获相似类型数据的表单的灵活性,从而确保您不违反DRY原则

如果您不熟悉Vue.js,请尝试将现有框架转换为Vue.js或只是探索您的选择,请继续阅读以找出Vue.js的前6个表单生成器组件,这些组件可以帮助您创建动态且可自定义的表单轻松地。

Vue.js表单生成器可帮助您快速而动态地创建账单,调查表,联系表,调查表等,从而使开发变得更加容易和快捷。

在探索适用于Vue.js的最佳表单生成器组件之前,请注意在PC中安装Vue的前提条件。

Vue的前提条件是什么?

  1. 您想要的IDE
  2. Node.js(最低节点v10x)
  3. 了解JavaScript和Vue的基本概念
  4. Vue CLI

如何安装Vue CLI?

1.执行命令:npm install @ vue / cli –g

2.通过执行以下命令来创建新的Vue项目:vue create <项目名称>

Vue.js的前6种表单生成器组件是什么?

1. vue-form-generator

vue-form-generator 是基于JSON模式的表单生成器组件,可帮助基于模式或数据模型创建响应式表单。该生成器轻巧且可扩展,并内置了对自定义样式的支持。

特征:

  • 该表单生成器拥有21种字段类型。
  • 其样式易于定制。
  • 它支持内置的表单验证器。
  • 它是轻量级的。
  • 它是高度可扩展的,并允许自定义字段扩展。
  • 它支持多对象编辑。
  • 包括Bootstrap友好模板。
  • 支持分组字段。

安装:

1.将目录更改为项目cd <项目名称>

2.安装vue-form-generator

npm i vue-form-generator –save

2. ncform

ncform 由于其简单性和灵活性而成为Vue.js的另一个表单生成器组件。它是一个基于JSON的表单生成器,用于创建表单UI并仅使用配置来描述其交互。

特征:

  • JSON数据结构完整描述了UI及其交互行为。
  • 表单控件之间可以灵活地交互。
  • 它不需要复杂的验证逻辑即可在表单项之间创建交互。
  • ncform定义了一组标准组件,这些组件可以轻松满足大约90%的表单开发需求,而无需扩展。
  • 它拥有十多个常用的验证和确认要求。
  • 验证规则和表单组件是高度可扩展的。
  • 它提供了强大的控件交互功能,可以创建所需的确切形式。

安装:

1.将目录更改为项目cd <项目名称>

2.安装ncform npm i @ ncform / ncform @ ncform / ncform-common –save

npm i @ ncform / ncform-theme-elementui element-ui axios –保存

3. vuetify-form-b​ase

vuetify-form-b​​ase 是另一个基于JSON的表单生成器,可帮助创建具有与数据相同结构的架构对象。由于它使用Vuetify框架来创建表单的布局和样式,因此您需要安装一个额外的软件包才能使此生成器正常工作。

要安装Vuetify,请在安装Vue CLI之后执行以下命令:

vue添加vuetify

Vuetify框架以其响应式设计,支持以及适合轻量级应用程序的清晰,简约的用户界面而闻名。

特征:

  • 它根据您定义的架构创建表单。
  • 如果未定义架构,它将自动为数据类型'string','number'或'bool'生成架构。
  • 它基于现有的模型对象创建一个完全可编辑的表单。
  • 它允许在使用相同模型对象的两个或更多窗体之间进行同步。
  • 表单的布局和功能是使用Schema-Object定义的,该对象具有与Model-Object相同的属性结构。
  • 它有助于创建具有所需事件的完全反应形式。
  • 即使您有深层嵌套的Model-Object,它也不需要展平或修改数据表示。

安装:

1.将目录更改为项目cd <项目名称>

2.安装vuetify-form-b​​ase

npm i vuetify-form-b​​ase –save

4. vue-form-json-schema

vue-form-json-schema 是基于JSON模式的表单生成器,它不需要任何字段并且支持任何HTML元素或Vue组件。由于没有预构建的组件,因此您不必为每个组件的可用性而感到困惑,从而使开发更加容易。

特征:

  • 表单布局与数据结构无关。
  • 它允许使用发出事件的任何组件或元素(自定义或本机)。
  • 它支持嵌套的表单字段,动画和表单验证。
  • 允许从后端加载表单。
  • 支持条件可见性。
  • 支持与Bootstrap类的集成,以实现不同设备的不同布局。

安装:

1.将目录更改为项目cd <项目名称>

2.在vue-form-json-schema –save

npm i vue-form-json-schema –save

5. vue-form-b​​uilder

vue-form-b​​uilder是一个快速,简单但可扩展的表单构建器组件,支持拖放。由于开发中的代码较少,因此拖放功能使维护更加容易。

特征:

  • 高度可扩展
  • 支持验证和自定义控制
  • 它具有可轻松配置的拖放功能以及控制设置。
  • 由于具有拖放功能,因此在开发中需要较少的编码。
  • 包含各种API
  • 支持静态和动态形式的创建
  • 支持文本,数字,日期,时间输入。
  • 在“折叠”和“选项卡”布局中可用。

安装:

1.将目录更改为项目cd <项目名称>

2.在vue-form-b​​uilder –save

npm i vue-form-builder –save

6. vuetify-jsonschema-form

vuetify-jsonschema-form还是Vue.js排名前六的表单生成器之一,后者基于带注释的JSON模式生成表单。该框架的缺点还在于需要安装其他Vuetify软件包。

要安装Vuetify,请在安装Vue CLI之后执行以下命令:

vue add vuetify由于此表单生成器基于Vuetify框架创建了表单的布局和结构,因此它继承了框架的简约设计,简单控制和响应能力。最适合需要声明性形式的应用程序(例如通用admin UI形式)

特征:

  • 支持所有基本数据类型。
  • 允许实现嵌套对象和嵌套数组。
  • 支持不同的显示选项。
  • 支持简单的验证规则。
  • 允许使用插槽注入内容。

安装:

1.将目录更改为项目 cd <项目名称>

2.安装vue-form-b​​uilder

npm i json-schema-for-vuetify – –保存–

最后的想法

在几乎所有基准测试中,Vue.js的性能均优于Angular和ReactJS。它很容易上手,并提供了许多很酷的功能,这些功能通过React样式渲染支持组件样式开发。

推荐Vue学习资料文章:

《从Vue源码角度深挖Watch、Computed 》

《Vue3全家桶 + Vite + TS + TSX尝鲜,先人一步 》

《精读《Vue3.0 Function API》 》

《手把手教你Electron + Vue实战教程(六) 》

《Vue中mixin怎么理解? 》

《封装一个精致vue视频播放器组件》