antd form表单如何实现普通表单的提交,然后刷新新页面

1.因为spring-secruty 的配置原因,我不得不吧登录的页面和功能的页面分开,但是一个单页程序,不好分开,我考虑用普通的表单提交方式,可以解决这个问题,但是发现,antd的form 没有提交方法,我就郁闷了,我就只是需要一个最简单最原始的表单提交,发现一上午没有搞定

哪位大神告诉我,antd的表单如果不通过ajax 的方式去提交?

阅读 19.8k
4 个回答

你的提交方法
指的是什么?
我觉得作为一个表格,
把你输入的数据能够提取出来即可, 之后你是拿params去做什么, 跟表格没有半毛钱关系.
传送门:https://ant.design/components...表单域
附带部分示例源码:

 handleSubmit(e) {
    e.preventDefault();
    this.props.form.validateFields((err, values) => {
      if (!err) {
        console.log('Received values of form: ', values);
      }
    });
  },
  render() {
    const { getFieldDecorator } = this.props.form;
    return (
      <Form inline onSubmit={this.handleSubmit}>
        <FormItem>

发请求建议使用fatch

我使用document.getElementById("loginForm").submit() 来提交表单,哎,也是醉了

其实是有的,添加一个<Button htmlType="submit"/>即可,另外Form控件有onSubmit可以用来预处理
不过呢,这种提交会导致刷新,你页面保存的状态可就全没了,慎用。

另外呢,写单页程序更像是写客户端,起始spring-security, apache-shiro的一些基于传统web的机制并不太适用,我用的shiro,也遇到过类似问题

makeForm = (query) => {
    console.log(query);

    const form = document.createElement('form');
    form.id = 'form-file-download';
    form.name = 'form-file-download';
    // 添加到 body 中
    document.body.appendChild(form);
    for (const key in query) {
      if (query[key]!== undefined && Object.hasOwnProperty.call(query, key)) {
        // 创建一个输入
        const input = document.createElement('input');
        input.type = 'text';
        input.name = key;
        input.value = query[key];
        form.appendChild(input);
      }
    }

    // form 的提交方式
    form.method = 'GET';
    // form 提交路径
    form.action = '/api/contractArchives/download';
    form.submit();
    document.body.removeChild(form);
  };

我今天也需要一个原始表单自己创建一个就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题