Генератор формы Javascript

Кто-нибудь знает о библиотеке javascript для автоматического создания формы на основе модели?

т.е. для модели, например:

{
    name: "someone",
    email: "[email protected]",

}

вы получите форму типа:

Name: ___________
Email: __________

Matt

Ответы

Ответ 1

Попробуйте jQuery dForm

Пример:

var formdata = {
    "action" : "index.html",
    "method" : "get",
    "elements" :
    [
        {
            "type" : "p",
            "html" : "You must login"
        },
        {
            "name" : "username",
            "id" : "txt-username",
            "caption" : "Username",
            "type" : "text",
            "placeholder" : "E.g. [email protected]"
        },
        {
            "name" : "password",
            "caption" : "Password",
            "type" : "password"
        },
        {
            "type" : "submit",
            "value" : "Login"
        }
    ]
};

$("#myform").buildForm(formdata);

Сборка:

enter image description here

Ответ 2

Если вы хотите генерировать динамические формы с помощью jQuery, я бы рекомендовал взглянуть на Alpaca.

Альпака - библиотека форм с открытым исходным кодом (лицензирована под Apache 2). Он генерирует формы на основе JSON Schema с использованием JavaScript и довольно гибкий, чтобы вы могли регистрировать новые типы управления, макеты, ограничения и функции проверки.

Я думаю, что он будет обрабатывать описанный вами сценарий довольно легко.

В нем есть некоторые интересные функции шаблона (шаблоны jQuery), механизмы рендеринга для jQuery Mobile и шаблон "коннектор", чтобы вы могли читать и сохранять определения форм и макетов из удаленного источника данных.

Примечание. Я один из разработчиков в компании за Альпакой. Мы открыли его, потому что мы думали, что это будет здорово для сообщества. Альпака активно развивается, и мы используем ее для нашего продукта (Cloud CMS). Другие использовали его для других систем CMS, а также проектов, поддерживаемых MongoDB и CouchDB, и т.д. Таким образом, в него было внесено много усилий.

Ответ 4

inputEx кажется нормально

inputEx - это фреймворк javascript с открытым исходным кодом для создания полей и форм для веб-приложений с использованием библиотеки YUI3.

Ответ 5

Могу ли я смиренно предложить Metawidget?

Он создает пользовательские интерфейсы из объектов JSON. Он не требует JQuery, но имеет поддержку для него. Он также поддерживает другие форматы объектов (такие как JSON Schema, схемы над REST и т.д.).