Javascript - Formdata

时间:2015-11-26 22:47:01

标签: javascript jquery dom

尝试将表单加载到FormData对象中,但它只是创建一个空的FormData,我可以提醒表单对象(显示HTMLFORMOBJECT),如果我删除e.preventDefault,它会将名称/值配对到url但是FormData不起作用。我甚至尝试使用隐藏输入创建虚拟表单,但它们不会加载到FormData

JAVASCRIPT

$('#create-element-form').submit(function(e) {
    e.preventDefault();
    var formdata = new FormData(document.getElementById('create-element-form'));
    alert(formdata.get('name'));
});

HTML

<form id="create-element-form">
    <div class="form-group">
        <input type="text" class="form-control" name="name" placeholder="Element Name" maxlength="100" required/>
    </div>
    <div class="form-group">
        <input type="text" class="form-control text-number-input" name="backups" placeholder="Number of backups for element" maxlength="100" required/>
    </div>
    <button type="submit" class="btn btn-default btn-lg btn-block">Create Element</button>
</form>

只是提醒

undefined

我觉得这可能是我想念的简单

1 个答案:

答案 0 :(得分:8)

formdata不是普通对象。它没有任何可以序列化的属性。您必须使用对象的方法来访问包含的数据。例如:

console.log(formdata.get('name'));

See the MDN documentation.

FormData个对象的主要用例将通过XMLHTTPRequest发送。