我有一组4个单选按钮,我需要获取所选按钮的值。我应该确保用户选择了其中一个单选按钮。这里是我正在努力做到这一点:如何获取ReactJS中的一组单选按钮的值
export const ReportClass = React.createClass({
mixins: [React.addons.LinkedStateMixin],
getInitialState() {
return {
reason: "",
}
},
setError(id, msg) {
const err = this.state.errors;
err[id] = msg;
this.setState({errors: this.state.errors});
},
sendReport(event) {
event.preventDefault();
console.log(this.state.reason);
console.log(this.state.reason.value);
if (!this.state.reason) {
this.setError('reason', "Please choose one");
return;
}
},
render: function() {
return (
<div>
<form className="form-h" onSubmit={this.sendReport}>
<label forHtml='first'> first radio button </label>
<input ref='first' name='reason' type='radio' value='first' checkedLink={this.linkState('reason')} />
<label forHtml='second'> second radio button </label>
<input ref='second' name='reason' type='radio' value='second' checkedLink={this.linkState('reason')} />
<label forHtml='third'> third radio button</label>
<input ref='third' name='reason' type='radio' value='third' checkedLink={this.linkState('reason')} />
<label forHtml='forth'> forth radio button </label>
<input ref='forth' name='reason' type='radio' value='forth' checkedLink={this.linkState('reason')} />
<div className="col-sm">
<button type="submit" className="btn" onClick={this.sendReport}> Send</button>
</div>
</form>
</div>
);
}
});
的console.log(this.state.reason)
回报true
当按下其中一个按钮选择第二个,console.log(this.state.reason.value)
回报undefined
。那么我怎么才能知道哪一个是选择的价值呢?
这是你所期望的吗? http://jsbin.com/gupatu/edit?html,js,console,output –
听取复选框更改事件,然后存储该值,然后在提交时检索此值? –
@MichaelRasoahaingo是的,这就是我想要的!请发布它作为答案:)谢谢 – Birish