2013-07-15 29 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/,應該工作 –