如何停止要在请求中发送的禁用输入字段的默认值

时间:2019-06-18 06:18:57

标签: html reactjs

我有一个输入类型编号,该编号在一种特定条件下已禁用,并且同样,我也设置了默认值。当禁用该字段时,该默认值也会在请求中发送。如果该字段被禁用,我不想发送默认值。我怎么能做到这一点。

默认值在单独的函数中设置为:

document.getElementById('maxNumGoodPathTests').value="1";

这是输入字段的代码:

<label>
    <input type="number" min="1" max="1000" id="maxNumGoodPathTests" 
    disabled={this.state.goodChecked} onBlur={this.handleValue}/> &nbsp;
    good path tests
</label>

1 个答案:

答案 0 :(得分:0)

如果您使用React,这是读取输入的正确方法:

class App extends React.Component{
    constructor(props){
        super(props);
        this.state={
            input_value : '',
            goodChecked : false
        }
        this.handleInputChange = this.handleInputChange.bind(this);
    }
    handleInputChange(el){
        this.setState({
            //considering that your text is in el.target.value
            input_value : el.target.value
        })
    }
    render(){
        return(
            <input
                 //your settings
                 value={this.state.value}
                 onChange={this.handleInputChange}
            />
        )
    }
}

现在,如果您的输入被禁用并将保持该状态,则可以删除handleChange方法,并使用state的input_value的默认值。现在,您可以基于onSubmit方法中的goodChecked使用input_value:

onSubmit(){
    const sendingParam = this.state.goodChecked?'fixed_value':this.state.input_value
}

希望这会有所帮助。