TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Formbuilder.js

78 pointsby 5vforestover 11 years ago

9 comments

bazzarghover 11 years ago
I disagree with this type of form builder. In a previous job, we built lots of forms (for gov&#x2F;banking sectors), had a formbuilder product, and used multiple commercial formbuilders too. They were all more complex but fundamentally the same: making you focus on layout and field types up front, not content. (think Powerpoint vs LaTeX)<p>What we needed, it seemed to me, was something that started simply with the list of questions the user wanted to ask, and elaborate on that, adding field types&#x2F;lookups&#x2F;help text after the fact. The type of response had to be something you could change without deleting the form control and replacing it eg; start with a text box. Change it to a date picker. Then change it to a selection when you realise that only Monday &amp; Wednesday are valid answers. This kind of change happened pretty regularly, but is stupidly hard in most form builders.<p>The other mistake of allowing too much flexibility in layout doesn&#x27;t apply to Formbuilder.js - but many products made it easy to design forms that were inaccessible, or that wouldn&#x27;t work on different screen sizes, or couldn&#x27;t be laid out well on paper (ultimately many of these forms had to be printed for archiving). The form builder should generate accessible layouts that worked on multiple devices, and very little of the layout should be in the hands of the end user.<p>A less visible aspect of what was wrong with form design was versioning the data model. A user may submit drafts of the same form several times, over many weeks (applications get rejected, plans change etc). Meanwhile, the regulations driving the forms would change, or bugs would be found, and the form would change. It&#x27;s important to be able to load the old data in a new form, and not choke on validation failures. Particularly, if some piece of data is now missing that means large optional sections are no longer displayed, we should not lose the data that the user had filled in in those sections.<p>A final data model issue was that we were also creating xsd&#x27;s for electronic submissions etc. At that time the best solution was to massage the data after form submission into a schema specified format; but this meant that validation code was essentially written twice (once in the form, once in the schema), and the two were out of step. I wanted to generate schemas for valid complete forms, and to be able to clean up the saved data (which may be out of step with the current form version, see last para)<p>Anyway it turned out all this was possible, but I was leading a different team from the formbuilder one, so they went with a more conventional design. Sadly part of this was commercial: producing complex forms layout-first is hard enough for non-techies that the company could offer this as a service...rather than producing a better UX :(
评论 #6373667 未加载
minikomiover 11 years ago
I suppose I can be so audacious as to plug this here too: <a href="http://minikomi.github.io/Bootstrap-Form-Builder/" rel="nofollow">http:&#x2F;&#x2F;minikomi.github.io&#x2F;Bootstrap-Form-Builder&#x2F;</a> for bootstrap forms.
评论 #6373769 未加载
ryhansonover 11 years ago
I will definitely be using this! I was just about to code my own for a project I&#x27;m working on. The ability to put the fields in columns would be great. An example would be to allow some to have two separate text fields, like First Name &amp; Last Name, on the same line.
davidjgraphover 11 years ago
Nothing shows up in IE 8, might be worth putting a supported browser list in the README.
sriharisover 11 years ago
An open source Wufoo :) Cool.
nejover 11 years ago
Yay a backbone.js article! No hate on Angular.js but that&#x27;s mainly what I&#x27;ve been seeing on HN lately. I miss the Ember.js, Knockout.js, etc.js articles.
评论 #6372929 未加载
xtrumanxover 11 years ago
Seems like this can easily be extended to add other non-input related elements like lists and such.<p>Then it can be renamed PageBuilder.js. Any plans to do so?
JDDunn9over 11 years ago
Looks nice. Too bad it requires backbone and rivets...
thejoshover 11 years ago
Add a new field is blank.
评论 #6372384 未加载