0

我正在尝试在提交时转换表单数据以更新 json 对象。

这是我到目前为止所拥有的:

var app = {
slidePreviews: "",
selectedTheme: "",
slideDuration: 7000,
    slides: []
};
$(document).ready(function() {

$('#slideForm').on('submit', function(event){
    var slide = $(this).toJSON;
    app.slides.push(slide);
    return false;
});
}); 
<div id="themeOption"></div> 
<div id="ppt"></div>

<pre><code id="presentation"></code></pre>

<form id="slideForm">
<dl>
    <dt><label for="presTitle">Title of the Presentation:</label></dt>
    <dd><input id="presTitle" type="text" name="presentation.title"/></dd>
</dl>
<dl>
    <dt><label for="slideTitle">Slide Title:</label></dt>
    <dd><input id="slideTitle" type="text" name="presentation.slide.title"/></dd>
</dl>
<dl>
    <dt><label for="slideHeader">Slide Header:</label></dt>
    <dd><input id="slideHeader" type="text" name="presentation.slide.header"/></dd>
</dl>
<dl>
    <dt>Content</dt>
    <dd>
        <textarea rows="5" cols="20" name="presentation.slide.content">Slide content here</textarea>
    </dd>
</dl>
<dl>
    <dt></dt>
    <dd><input type="submit" value="Send" /></dd>
</dl>

我希望使用表单数据更新对象应用程序。当我记录“幻灯片”时,我得到“未定义”。有什么建议么。

4

3 回答 3

0

我认为您需要在通话中添加括号toJSON()

var slide = $(this).toJSON();
于 2013-04-11T22:02:26.790 回答
0

使用serialize函数将表单序列化为 JSON 而不是toJSON函数,如下所示:

$(this).serialize();
于 2013-04-11T22:03:36.530 回答
0

您可以像这样使用 jQuery serialize()

var obj = $("#slideForm").serialize();
于 2013-04-11T22:04:10.180 回答