2013-07-15 90 views
1

获取表单数据我有这样使用Javascript/jQuery的从dialoguebox

$("#dbSetting_div").dialog({ 
    height: 315, 
    width: 500, 
    autoOpen: false, 
    modal: true, 
    draggable: false, 
    buttons: { 
     "Save": function() {}, 
     "Add More": function() { 
      l_i++; 
      formHtml = "<div>"; 
      formHtml += "<form id='" + l_i + "'>"; 
      formHtml += "<label class = 'dbright'>DashBoard ID: </label><span class = 'dbleft'><select id='dashboard_id' class='dbSettingDD'><option>-------Select-------</option>" + dropDownDashboardName + "</select></br></span>"; 
      formHtml += "<label class = 'dbright'>Filtering parameter: </label><span class = 'dbleft'><select id='filter_by'><option>-------Select-------</option></select></br></span>"; 
      formHtml += "<label class = 'dbright'>Y-Axis: </label><span class = 'dbleft'><select id='yAxis'><option>-------Select-------</option></select></br></span>"; 
      formHtml += "<label class = 'dbright'>Chart Tiltle: </label><span class = 'dbleft'><input type='text' id='title'/></br></span>"; 
      formHtml += "<label class = 'dbright'>Chart Type: </label><span class = 'dbleft'><input type='text' id='chart_type'/></br></span>"; 
      formHtml += "<label class = 'dbright'>Main Chart: </label><span class = 'dbleft'><input type='radio' name='mainchart' value='yes'/>Yes <input type='radio' name='mainchart' value='No'/>No</br></span>"; 
      formHtml += "</form>"; 
      formHtml += "</div>"; 
      $("#dbSetting_div").append("<p>" + formHtml + "</p>"); 
      console.log(scroll); 
     } 
    } 
}).css("font-size", "12px"); 

一个对话框,我试图序列化此对话框的输出作为JSON

$("div form").each(function(){ 
console.log($(this).serialize()); 
}); 

我试过,包括上面的代码在保存按钮功能中,但控制台中的输出为空白。

我没有收到任何错误。

如何获得表单数据使用Javascript/jQuery的

JSBin

+0

首先.serialize()方法创建一个文本字符串,而不是json。 还有一件事,是否有可能把你的代码放在小提琴上并分享链接。 –

+0

我可以使用.serializeArray()整个代码基于Big JSON配置文件,所以我可能无法加载它。 – Okky

+0

@SAM添加了样本 – Okky

回答

1

我用的解决方案得到了,这里看看 Fiddle

如果你看一下控制台,你会得到的结果。

"Save": function() { 
     var data = new Object(); 
     $("div form :input").each(function() { 
      data[$(this).attr("id")] = $(this).val(); 
     }); 
     console.log(data); 
    }, 
+0

Thnx男士的JSBin链接。这是如此简单Thnx :) – Okky

+0

如果我再添加一个表格,该怎么办。我想每个表单作为每个对象 – Okky

+0

伙计,我修改了代码,检查这个http://jsfiddle.net/vg7bT/3/,应该工作 –