我有一个输入类型编号,该编号在一种特定条件下已禁用,并且同样,我也设置了默认值。当禁用该字段时,该默认值也会在请求中发送。如果该字段被禁用,我不想发送默认值。我怎么能做到这一点。
默认值在单独的函数中设置为:
document.getElementById('maxNumGoodPathTests').value="1";
这是输入字段的代码:
<label>
<input type="number" min="1" max="1000" id="maxNumGoodPathTests"
disabled={this.state.goodChecked} onBlur={this.handleValue}/>
good path tests
</label>
答案 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
}
希望这会有所帮助。