我正在尝试在onChange事件中获取按钮值。稍后,我将不得不将该值绑定到state
。但是我得到的是空值。
<button onChange={this.handleCategoryName} onClick={this.goToNextPage}>
Restaurant
</button>
这是我尝试获取“ Restaurant”值的事件
handleCategoryName(event) { this.setState({ categoryName:event.target.innerHTML }); }
在state
上,我将绑定按钮值。
this.state = {
apiUrl: config.publicRuntimeConfig.publicRuntimeConfigValue.apiUrl,
value: 850,
categoryName: " ",
};
this.handleCategoryName = this.handleCategoryName.bind(this);
但是我在数据库中得到一个空值。
axios.post( this.state.apiUrl+'/api/v1/LeadSurvey/save', {
'categoryName':this.state.categoryName,
}
我该如何解决?
答案 0 :(得分:0)
似乎您想使用<input>
字段来获取categoryName
,因为您似乎想要获取输入并且还具有一个带有onClick
事件的按钮。我建议您检出W3Schools' page on the <input>
tag。您将可以将<input>
标签和onChange
属性一起使用。
答案 1 :(得分:0)
问题在于按钮不能具有onChange
属性。为什么?因为按钮没有要更改的字段。 HTML中可以与onChange
属性一起使用的所有元素都有一个字段。当它们改变时,它可以触发某些东西。按钮仅具有纯文本解释,如果您不需要按钮上的文字并且无法更改,则按钮什么也不会解释。即使按钮可以单击,也不能直接将onChange
属性与按钮一起使用。 onChange
属性是带有按钮的onClick
属性。因此,我建议必须删除onChange
事件属性,并用其他东西代替。