css 为什么提交onclick不工作时,其内部的形式?

nlejzf6q  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(144)

此表单使用react-bootstrap样式。提交按钮会中断并重新启动此表单中的应用程序。当我将按钮移到表单标记之外时,它就工作了。是什么原因呢?我想保留表单标记中的按钮以进行样式设置。

<Form>
          <Form.Row>
            <Col xs={9}>
            <Form.Group>
            <InputGroup>
              <InputGroup.Prepend>
                <InputGroup.Text id="inputGroupPrepend">@</InputGroup.Text>
              </InputGroup.Prepend>
              <Form.Control
                type="text"
                placeholder="Username"
                aria-describedby="inputGroupPrepend"
                name="username"
                value={this.state.username}
                onChange={(event) => {
                  console.log(`${this.state.username}`);
                  this.setState({username: event.target.value});
                }}
                required
              />
              <Form.Control.Feedback type="invalid">
                Please choose a username.
              </Form.Control.Feedback>

            </InputGroup>
            </Form.Group>
            </Col>
            <Col>
            <Button variant="primary" 
                    type="submit"
                    onClick={() => {
                      try {
                        console.log("Submit button clicked");
                      } catch (error) {
                        console.log(error);
                      }
                    }}>
              Submit
            </Button>
            </Col>
          </Form.Row>
        </Form>
exdqitrt

exdqitrt1#

您应该尝试将按钮的类型从“提交”更改为“按钮”。或者一起删除类型参数。目前,提交类型按钮允许表单执行onSubmit,而忽略按钮自己的onClick。

mum43rcc

mum43rcc2#

这是因为onClick事件覆盖了type=“submit”功能。从而只触发onClick事件。
你可能不需要答案了,但我刚刚遇到了同样的问题。

相关问题