如何获取ReactJS中输入的日期值?

时间:2019-01-18 21:31:11

标签: javascript reactjs input datepicker date-format

我有一个注册表单,其中以一个日期作为输入。

我输入日期的代码是:

birthDate: new Date(),

this.handleSubmit = this.handleSubmit.bind(this);
this.handledChange = this.handledChange.bind(this);


handledChange(date) {
  this.setState({
    birthDate: date
  });
}

<ControlLabel>Date de naissance</ControlLabel>
  <FormGroup controlId="birthDate" bsSize="large">
    <FormControl
      autoFocus
      type="date"
      value={this.state.birthDate}
      onChange={this.handledChange}
    />
  </FormGroup>

提交时,在控制台上的输入日期为undefined

我想要以下格式:YYYY-MM-DD

我该如何解决?

3 个答案:

答案 0 :(得分:2)

您不会直接通过事件目标获得所选日期

更改

handledChange(date) {
    this.setState({
      birthDate: date
    });
  }

收件人

handledChange(event) {
    this.setState({
      birthDate: event.target.value
    });
  }

答案 1 :(得分:1)

提交后,您还可以使用表单ID提取表单的输入值。
您可以在自己的Submit方法中尝试使用以下方法:

让selectedDate = document.getElementById('birthDate')

此处的出生日期是指FormGroup的controlId

答案 2 :(得分:0)

这就像一颗宝石。如果您仍然遇到问题,请尝试一下

             <input
                type="date"
                name="expiration date"
                value={this.state.expiration_date}
                onChange={event => this.setState({expiration_date: event.target.value})} 
              />
onChange = (key, value) => {
    this.setState({
      [key]: value
    })
  }