Creadas formas de JSON esquema, cómo obtener los valores del formulario a nivel mundial?

votos
0

He creado formulario con haml y sólo quiero optimizar con este constructor jsonForm.

A continuación se muestra de forma que creé con documento de referencia:

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>');
      }
    }
});

Pero también necesito para obtener esos valores a nivel mundial.

¿Cómo puedo hacer esto?

Publicado el 30/11/2013 a las 09:56
por usuario
En otros idiomas...                            


1 respuestas

votos
1

Una forma es serializar la forma de matriz utilizando métodos de ayuda de jQuery y luego convertir la matriz de formato JSON. He creado un violín por ello aquí:

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>');
          }
        }
      });

¡Espero que ayude!

Respondida el 30/11/2013 a las 10:26
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more