javascript - FormData 在react中返回表单提交的空数据

标签 javascript reactjs dom dom-events form-data

我试图在提交表单时获取表单数据键值对对象,使用 new FormData()构造函数。但它总是返回空数据。

我已经尝试过event.persist()避免 react 事件池,但没有任何效果


export default class Test extends React.Component {
  constructor(props) {
    super(props);
    this.handleSubmit = this.handleSubmit.bind(this);
  }

  handleSubmit(event) {
    event.preventDefault();
    const target = event.target;
    const data = new FormData(target);
    console.log(data)
  }

  render() {
    return (
      <form onSubmit={this.handleSubmit}>
        <label htmlFor="username">Enter username</label>
        <input id="username" name="username" type="text" />

        <button>Send data!</button>
      </form>
    );
  }
}

我期待一个包含以下格式的表单数据的对象
{ "username": "Value" }

最佳答案

我认为你需要通过循环来获取它。尝试这个

  var formData = new FormData(target);

   for (var [key, value] of formData.entries()) { 
   console.log(key, value);
  }

希望它有效。

关于javascript - FormData 在react中返回表单提交的空数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56215041/

相关文章:

javascript - 如何在运行时禁用 select2 中的选项

javascript - 我如何将此搜索转换为类似于 ubuntu 搜索

javascript - npm install 是否意味着该脚本仅适用于 Node.js

javascript - 如何使用 ng-repeat 和 Angular 折叠表格的一行

javascript - 如何在 React useEffect hook 中获取更新的状态值

javascript - View 不会更新,但 URL 在 React Router V6 中会更新

javascript - 使用 Map 的 Angular 6 HttpClient

reactjs - VS Code - 使用同一窗口打开文件并保留工作区

php - 无法使后续的Xpath查询正常工作

JavaScript getElementsByCustomTag ('value')?