gpt4 book ai didi

javascript - 如何在reactjs中将表单单选按钮重置为未选中?

转载 作者:行者123 更新时间:2023-12-01 15:51:42 24 4
gpt4 key购买 nike

我为 1 个问题制作了 4 个单选按钮。我已经提交了 2 个按钮并清除了输入。当我在单击清除输入后提交表单时,它不会将选中的按钮清除为未选中我该如何使用 reset功能 ?

联系表格.js:

import React, { Component } from 'react';

class ContactForm extends Component {
constructor(props){
super(props);
this.state = {
age:'',
gender:'',
health:'',
name:'',
email:'',
info:'',
fitness:''
};
}

setAge(checkedValue){
console.log(checkedValue);
this.setState({
age:checkedValue
})
}

setGender(checkedValue){
console.log(checkedValue);
this.setState({
gender:checkedValue
})
}

onChangeTextBoxGender(event){
this.setState({gender: event.target.value})
}

savedata(age, gender, health, name, email, info, fitness){
let newcontent = contentref.push();
newcontent.set({
age:this.state.age,
gender:this.state.gender,
health:this.state.health,
name:this.state.name,
email:this.state.email,
info:this.state.info,
fitness:this.state.fitness
});
}

reset(){
this.setState({
age:'',
gender:''
})
}

render() {

return (
<div>

<div id="center">
<form>

<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<h3>[Test]Contact us Survey Form</h3>
</div>
</div>

<div id="agegroup" >
<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<h4>What is your age group?</h4>
</div>
</div>

<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<div className="radio">
<label><input type="radio" name="age" onChange={this.setAge.bind(this,'>=25 yrs')}/> >=25 yrs</label>
</div>
</div>
</div>
<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<div className="radio">
<label><input type="radio" name="age" onChange={this.setAge.bind(this,'26-35 yrs')}/> 26-35 yrs</label>
</div>
</div>
</div>
<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<div className="radio">
<label><input type="radio" name="age" onChange={this.setAge.bind(this,'36-50 yrs')}/> 36-50 yrs</label>
</div>
</div>
</div>
<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<div className="radio">
<label><input type="radio" name="age" onChange={this.setAge.bind(this,'>50 yrs')}/> >50 yrs</label>
</div>
</div>
</div>
</div>


<div id="gender">
<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<h4>What is your gender?</h4>
</div>
</div>

<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<div className="radio">
<label><input type="radio" name="gender" onChange={this.setGender.bind(this,'Female')}/> Female</label>
</div>
</div>
</div>
<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<div className="radio">
<label><input type="radio" name="gender" onChange={this.setGender.bind(this,'Male')}/> Male</label>
</div>
</div>
</div>
<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<div className="radio">
<label><input type="radio" name="gender" onChange={this.setGender.bind(this,'Prefer not to say')}/> Prefer not to say</label>
</div>
</div>
</div>

<div className="form-group">
<div className="col-sm-offset-2 col-sm-10">
<div className="radio">
<label><input type="radio" name="gender" onChange={this.setGender.bind(this,-1)}/>Other</label>
<input type="text" class="form-inline" id="other1" onChange={this.onChangeTextBoxGender.bind(this)}/>
</div>
</div>
</div>
</div>

<button type="button" class="btn btn-success" onClick={this.savedata.bind(this)}>Submit</button>
<button type="button" class="btn btn-danger">Clear input</button>

</form>
</div>

</div>
);
}
}

export default ContactForm;

见截图:

enter image description here

enter image description here

最佳答案

为您的单选按钮提供选中的属性。改变

<label>
<input
type="radio"
name="age"
onChange={this.setAge.bind(this,'>=25 yrs')} />
{' '}
>=25 yrs
</label>
<label>
<input
type="radio"
name="age"
checked={(this.state.age == '>=25 yrs')}
onChange={this.setAge.bind(this,'>=25 yrs')}/>
>=25 yrs
</label>

关于javascript - 如何在reactjs中将表单单选按钮重置为未选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48980566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com