Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Maxlength不起作用_Javascript_Html_Reactjs - Fatal编程技术网

Javascript Maxlength不起作用

Javascript Maxlength不起作用,javascript,html,reactjs,Javascript,Html,Reactjs,我有一个带有React的输入,但是maxlength不起作用。有人知道如何解决这个问题吗 这是handleChangeInput handleChangeInput(input) { this.setState({ ...this.state, form: { ...this.state.form, [input.target.name]: input.target.value }

我有一个带有React的输入,但是
maxlength
不起作用。有人知道如何解决这个问题吗

这是handleChangeInput

 handleChangeInput(input) {
    this.setState({
        ...this.state,
        form: {
            ...this.state.form,
            [input.target.name]: input.target.value
        }
    })
}
这是我的输入:

<div className="input-field col s12 m6 l6">
    <input onChange={this.handleChangeInput} value={this.state.form.message} type="text" className="phone validate" name="phone" maxlength="11"/>
    <label for="telefone">Telefone</label>
</div>

电传

属性和属性名称通常是React中的
camelCase
maxLength
起作用

<input
  onChange={this.handleChangeInput}
  value={this.state.form.message}
  type="text"
  className="phone validate"
  name="phone"
  maxLength="11"
/>

要使maxLength起作用,输入必须是“text”(大多数人可能都在输入数字)

您需要将maxLength值作为一个数字进行传递

<input
  onChange={this.handleChangeInput}
  value={this.state.form.message}
  type="text"
  className="phone validate"
  name="phone"
  maxLength={11}
/>

inputProps={{maxLength:6}
variant=“概述”

对于任何使用reactstrap输入的人,就像它使用的其他属性(例如colSpan)一样,它需要camelCase命名和传递给它的数字(例如maxLength={250}),而不是字符串。我发现传递字符串会起作用,但React会对此表示不满。

只需在handleOnChange函数中执行以下操作:

 handlePasswordChange = (e) => {
    if(e.target.value <= 11){
    this.setState({
      [e.target.name]: e.target.value
    });
   }
  };
handlePasswordChange=(e)=>{

如果(e.target.value)我尝试使用maxLength作为床罩,但它不起作用。这是正确的方法,我已经测试了相同的示例,效果非常好。如果您使用的是typescript,您必须将该值作为一个数字传递。那么,您将如何限制它?无
仅数字
?非常好。简单有效
 handlePasswordChange = (e) => {
    if(e.target.value <= 11){
    this.setState({
      [e.target.name]: e.target.value
    });
   }
  };