在onChange事件中获取按钮值

时间:2019-07-12 21:45:19

标签: javascript reactjs state bind

我正在尝试在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,
           }

我该如何解决?

2 个答案:

答案 0 :(得分:0)

似乎您想使用<input>字段来获取categoryName,因为您似乎想要获取输入并且还具有一个带有onClick事件的按钮。我建议您检出W3Schools' page on the <input> tag。您将可以将<input>标签和onChange属性一起使用。

答案 1 :(得分:0)

问题在于按钮不能具有onChange属性。为什么?因为按钮没有要更改的字段。 HTML中可以与onChange属性一起使用的所有元素都有一个字段。当它们改变时,它可以触发某些东西。按钮仅具有纯文本解释,如果您不需要按钮上的文字并且无法更改,则按钮什么也不会解释。即使按钮可以单击,也不能直接将onChange属性与按钮一起使用。 onChange属性是带有按钮的onClick属性。因此,我建议必须删除onChange事件属性,并用其他东西代替。