Skip to content

substance/forms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Substance Forms

Substance Forms is a JavaScript library for creating better web forms. You can mark areas of the page as editable and access the contents with a simple JavaScript API. You have full control over markup and styling, and you can mix the rich text inputs with classic form elements.

See the demos.

Project Status: Beta

Usage

Download the latest release and use like shown below.

<html>
<head>
  <script type="text/javascript" src="substance-forms.js"></script>
  <style>
    /* FontAwesome is used to display the icons shown in the overlay */
    @import 'lib/font-awesome/css/font-awesome.min.css';
    /* Substance Forms looks best with a CSS reset */
    @import 'substance/substance-reset.css';
    /* Substance Forms UI styles */
    @import 'substance-forms.css';
  </style>
</head>
<script>
  var form
  window.addEventListener('load', function() {
    forms = new SubstanceForms()
    /* Activate rich text editing */
    forms.addRichTextArea('about', document.getElementById('about'), {
      enabledPackages: ['heading', 'strong', 'emphasis', 'link', 'list', 'table']
    })
  })
  function _onSubmit() {
    let forms = window.substanceForms
    let formData = {
      about: forms.getHTML('about')
    }
    console.log('Form data', formData)
  }
</script>
<body>
  <!-- The editable attribute marks editable areas -->
  <div id="about">
    <p>Tell us <strong>something</strong> about <em>you</em>.</p>
  </div>
  <button onclick="_onSubmit()">Submit</button>
</body>
</html>

For a complete usage example see here. Learn advanced usage by inspecting the comments example.

Development

If you want to contribute, you can set up a development environment like so:

$ git clone https://github.com/substance/forms.git
$ npm install
$ npm start

For faster builds you can run:

$ npm run dev

But then you need a browser that can run ES6 code natively.

Credits

This project is developed by Substance in collaboration with the University of California Curation Center.

About

Web forms with Substance.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published