2016-02-29 6 views
0

У меня есть следующие кнопки с событием прилагается:получить щелкнул имя баттона

<button className="pull-right btn btn-success" onClick={this.onNextStep}>Next</button> 

OnNextStep:

onNextStep: function (e) { 
    ... 
} 

Как получить имя кнопки внутри onNextStep?

e.target.value не работает

И как я могу изменить его?

+0

'e.innerHTML' должен работать. Кнопка не имеет значения. –

+0

@MatthewDarnell Вы уверены? MDN (и код функционирования), похоже, думают иначе, например https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-value, http://stackoverflow.com/q/5701831/438992) * Эта * кнопка не делает, но я уверен, что они * могут *. –

+0

Я понимаю, что OP использует React, но этот вопрос не имеет ничего общего с React. – Mathletics

ответ

0

e.target.textContent даст вам текст кнопки

+0

Я не знаю, почему они дают вам отрицательный рейтинг, но это сработало. Благодаря! –

+0

Рад, что это сработало для вас! – rguerrettaz

-1

Вам нужно имя атрибута на этой кнопке name="next step" и вы получите его через e.target.name. Чтобы изменить его, вы можете назначить name={this.state.buttonName} и установить состояние на этом ключе, когда вам нужно (this.setState({ buttonName: "new button name" });). Если вы говорите о внутреннем HTML, как в комментарии Мэтью, имя вашей кнопки можно было бы вызывать из состояния <button>{this.state.name}</button>, и setState также может изменить это.

1

Я хотел бы предложить что-то вроде этого:

<button 
    type="button" 
    className="pull-right btn btn-success" 
    onClick={() => this.onNextStep('Next')} 
> 
    Next 
</button> 

Помните, что React в основном о записи в DOM. Вы редко читаете это. (Исключение составляют входы.)

Ваше «значение» - это просто статическая часть текста. Нет необходимости получать то, что у вас уже есть.

Смежные вопросы