У меня есть форма, в которой у меня есть две группы полей адреса (представьте, что это адрес доставки и адрес выставления счета). Я хочу предложить пользователю возможность копировать значения из одной группы в другую при установке флажка «Платежный адрес совпадает с адресом доставки».
My code looks as follows:
class PetitionForm extends React.Component {
render() {
return (
<Form
onValidSubmit={this._handleValidSubmit.bind(this)}
onInvalidSubmit={this._handleInvalidSubmit.bind(this)}>
<div className="panel panel-default">
<div className="panel-heading">
<h2 className="panel-title">Shipping Address</h2>
</div>
<div className="panel-body">
<ValidatedInput name="streetShip" type="text" label="Street" validate="required" errorHelp="Needs to be completed" groupClassName="col-sm-12"/>
<ValidatedInput name="zipShip" type="number" label="ZIP Code" validate="required" errorHelp="Needs to be completed" groupClassName="col-xs-4"/>
<ValidatedInput name="cityShip" type="text" label="City" validate="required" errorHelp="Needs to be completed" groupClassName="col-xs-8"/>
</div>
</div>
<div className="panel panel-default">
<div className="panel-heading">
<h2 className="panel-title">Billing Address</h2>
</div>
<div className="panel-body">
<Input type="checkbox" ref="checkbox" name="sameCheck" label="Shipping address is billing address" onChange={this._copyAddress} />
<ValidatedInput name="streetBill" type="text" label="Street" validate="required" errorHelp="Needs to be completed" groupClassName="col-sm-12" />
<ValidatedInput name="zipBill" type="number" label="ZIP Code" validate="required" errorHelp="Needs to be completed" groupClassName="col-xs-4"/>
<ValidatedInput name="cityBill" type="text" label="Ciudad" validate="required" errorHelp="Needs to be completed" groupClassName="col-xs-8"/>
</div>
</div>
<ButtonInput type="submit" groupClassName="col-sm-12" />
</Form>
);
}
_copyAddress() {
this.refs.checkbox.getValue();
}
_handleValidSubmit(values) {
// handle submit
}
_handleInvalidSubmit(errors, values) {
// handle invalids
}
}
onChange={this._copyAddress}
— это моя отчаянная попытка зафиксировать, когда флажок установлен. copyAddress
запускается, но this.refs.checkbox
не определено.
Даже если бы это сработало, как бы я получил значения из верхней группы форм?
Спасибо за вашу помощь!
- Hg
e.target
из_copyAddress(e)
? (И ваша орфография отключена :/ - person ryan0319   schedule 26.01.2016e.target.checked
делает свое дело, но я выяснил, что вызвалоthis.refs.checkbox is undefined
— должно бытьonChange={this._copyAddress}.bind(this)
Теперь я все еще не понимаю, как копировать значения. :-( - person hko   schedule 26.01.2016