Созданные формы из схемы JSON, Как получить значения формы глобально?

0

Я создал форму с haml, и я просто хочу оптимизировать этот конструктор jsonForm.

Ниже приведен образец формы, который я создал с помощью справочного документа:

https://github.com/joshfire/jsonform

$('form').jsonForm({
    schema: {
        name: {type: 'string', title: 'Name', required: true},
        age: {type: 'number', title: 'Age', required: true},
        choice: {type: 'string',title: 'Title', 'enum': ['choice-1','choice-2','choice-3']}
    },
    onSubmit: function (errors, values) {
      if (errors) {
        $('#res').html('<p>I beg your pardon?</p>');
      }
      else {
        $('#res').html('<p>Hello ' + values.name + '.' +
          (values.age ? '<br/>You are ' + values.age + '.' : '') +
          '</p>');
      }
    }
});

Но мне также нужно получить эти ценности во всем мире.

Как я могу это сделать?

Теги:
getjson

1 ответ

1
Лучший ответ

Один из способов - сериализовать форму в массиве с помощью вспомогательных методов jQuery, а затем преобразовать массив в формат JSON. Я создал здесь скрипку:

http://jsfiddle.net/kamatanay/fchgS/

HTML:

<form></form>

<button id="theButton">Try</button>

Javascript:

$("#theButton").click(function(){
    var dataJson = {};
    $($("form").serializeArray()).map(function(){
        dataJson[this.name] = this.value;
    });
    console.log(dataJson);
});

$('form').jsonForm({
        schema: {
          name: {
            type: 'string',
            title: 'Name',
            required: true
          },
          age: {
            type: 'number',
            title: 'Age'
          }
        },
        onSubmit: function (errors, values) {
          if (errors) {
            $('#res').html('<p>I beg your pardon?</p>');
          }
          else {
            $('#res').html('<p>Hello ' + values.name + '.' +
              (values.age ? '<br/>You are ' + values.age + '.' : '') +
              '</p>');
          }
        }
      });

Я надеюсь, что это поможет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню