Javascript 从JSON模式创建表单,如何全局获取表单值?
我已经用haml创建了表单,我只想用这个JSONFormBuilder进行优化 以下是我使用参考文档创建的示例表单:Javascript 从JSON模式创建表单,如何全局获取表单值?,javascript,jquery,json,jquery-ui,getjson,Javascript,Jquery,Json,Jquery Ui,Getjson,我已经用haml创建了表单,我只想用这个JSONFormBuilder进行优化 以下是我使用参考文档创建的示例表单: $('form').jsonForm({ 模式:{ 名称:{type:'string',title:'name',必需:true}, 年龄:{type:'number',title:'age',必填项:true}, 选项:{type:'string',title:'title',enum':['choice-1','choice-2','choice-3']} }, onSub
$('form').jsonForm({
模式:{
名称:{type:'string',title:'name',必需:true},
年龄:{type:'number',title:'age',必填项:true},
选项:{type:'string',title:'title',enum':['choice-1','choice-2','choice-3']}
},
onSubmit:函数(错误、值){
如果(错误){
$('res').html('p>对不起?);
}
否则{
$('#res').html('Hello'+values.name+'.'+
(values.age?“
您是“+values.age+”:”)+
“”);
}
}
});
但我也需要在全球范围内获得这些价值观
如何做到这一点?一种方法是使用jQuery助手方法将表单序列化为数组,然后将数组转换为JSON格式。我在这里为它制作了一把小提琴: HTML:
尝试
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>');
}
}
});
$(“#按钮”)。单击(函数(){
var dataJson={};
$($((“form”).serializeArray()).map(函数(){
dataJson[this.name]=this.value;
});
log(dataJson);
});
$('form').jsonForm({
模式:{
姓名:{
键入:“字符串”,
标题:“姓名”,
必填项:true
},
年龄:{
键入:“编号”,
标题:“年龄”
}
},
onSubmit:函数(错误、值){
如果(错误){
$('res').html('p>对不起?);
}
否则{
$('#res').html('Hello'+values.name+'.'+
(values.age?“
您是“+values.age+”:”)+
“”);
}
}
});
我希望这会有帮助
<form></form>
<button id="theButton">Try</button>
$("#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>');
}
}
});