javascript - 如何在 react-bootstrap 中禁用表单提交的 <ENTER> 键

标签 javascript reactjs forms react-bootstrap

在下面的代码片段中,我有许多类型为文本的输入表单。如果用户点击 ,似乎我得到了与他们按下提交按钮相同的合成事件。我想忽略作为表单提交,只允许一个人按下提交按钮。 (我删除了一些表单组以减少示例)。

在所有情况下(按钮或 ENTER 键)

e.key is undefined
e.which is undefined
e.type is submit
e.target is the submit button 

(这是一个合成事件)

const React = require('react')
import { Form, FormControl, FormGroup, ControlLabel, Col, Button, Tooltip, OverlayTrigger } from 'react-bootstrap'

const Configuration = ({ ServerPort, UserID, PortNumber, WWWUrl, SourcePath, FMEPath }) => {
    const buttonAction = (e) => {
        e.preventDefault();
        alert(e.target.innerHTML)
    }
    return (
        <Form horizontal>
            <FormGroup controlId="serverPortBox">
                <Col componentClass={ControlLabel} sm={2}>Watson Port:</Col>
                <Col sm={10}>
                    <OverlayTrigger placement="left" overlay={(<Tooltip id="tt1">TCP port for Watson to use</Tooltip>)}>
                        <FormControl type="number" min="1024" max="65535" placeholder={ServerPort} />
                    </OverlayTrigger>
                </Col>
            </FormGroup>
            <FormGroup controlId="dbPortBox">
                <Col componentClass={ControlLabel} sm={2}>Database Port:</Col>
                <Col sm={10}>
                    <OverlayTrigger placement="left" overlay={(<Tooltip id="tt3">TCP port for PostGreSql DB</Tooltip>)}>
                        <FormControl type="number" min="1024" max="65535" placeholder={PortNumber} />
                    </OverlayTrigger>
                </Col>
            </FormGroup>
            <Button type="submit" bsStyle="primary" block onClick={(e) => buttonAction(e)}>Update Configuration</Button>
        </Form>
    )
}

export default Configuration

最佳答案

也许应该插入类型为“button” 的按钮而不是“submit”?然后只处理此按钮的 onClick

关于javascript - 如何在 react-bootstrap 中禁用表单提交的 <ENTER> 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43767888/

相关文章:

javascript - 为什么我的属性在 React 中的状态未定义?

jquery - 使用 jquery ui slider 更改选择下拉列表

javascript - 多次将表单提交到新选项卡

javascript - 智能查询断言是否等待客户端函数?

javascript - 设置cookie在24小时后过期

javascript - 使用 jQuery UI 从选择选项中获取值

javascript - 输入值不显示

node.js - axios发布后如何停止组件刷新。从formData上传图片后

javascript - React - 输入类型文件 Semantic UI React

javascript - 如何在不输入表单的情况下显示消息