Javascript - 表单数据

标签 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

我觉得这可能是我缺少的一些简单的东西

最佳答案

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

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

See the MDN documentation.

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

关于Javascript - 表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33948037/

相关文章:

javascript - 过渡问题 CSS 和 JS

javascript - 添加参数到 ("click") 函数

即使链接不是当前链接,jQuery CSS 样式也保持不变

javascript - JQuery 不适用于插入/注入(inject) DOM 元素

javascript - 根据内容文本更改背景颜色

php - 将通过 AJAX 上传到 DIV 的变量传递到同一个 DIV 中,并用结果替换内容

javascript - AngularJS $resource - 通过变量调用方法?

javascript - 使用 Dart 时,我在单击事件上创建 DOM 类。它只拾取第一个元素,如何让它在所有元素上触发?

javascript - 为什么在 Safari 中单击/聚焦子文本框时,父元素单击事件会自动触发?

java - 有没有办法获取 DOM 中节点的索引?