Зная последнее нажатие текстового поля через Javascript - PullRequest
0 голосов
/ 05 ноября 2010

У меня есть форма и кнопка.

Мне нужно, чтобы, когда я щелкаю по текстовому полю и затем щелкаю по этой конкретной кнопке, текстовое поле, которое было нажато последним, изменит свое значение на «КНОПКУ БЫЛА ЩЕЛЧЕНА».

Есть ли способ через JavaScript, как я могу узнать последнее текстовое поле, которое было нажато?

Большое спасибо заранее.

Ответы [ 2 ]

2 голосов
/ 05 ноября 2010

Вам нужно сохранить ссылку на текстовое поле, когда вы щелкаете по нему.Самый простой способ сделать это - создать глобальную переменную для ссылки.Затем вы обновите ссылку с помощью события onclick в текстовом поле.Вот пример:

HTML:

<input id="myTextBox" type="text" onclick="updateCurText(this);">
<input type="button" value="click me" onclick="updateText();">

JavaScript:

var currentTextBox = '';

function updateCurText(ele) {
  currentTextBox = ele.id;
}

function updateText() {
  document.getElementById(currentTextBox).value = 'BUTTON HAS BEEN CLICKED';
}

Живой пример.

0 голосов
/ 05 ноября 2010

jsumners верен, однако я бы, вероятно, рекомендовал избегать глобальных переменных, и если вы используете что-то вроде jQuery, вы инкапсулируете много логики в одном файле:

$(function() {
  var lastBox = false, formSelector = "form.myClass";
  // Change events
  $(formSelector + " input[type='text']").click(function() {
    lastBox = this;
  });
  // Button click
  $(formSelector + " button").click(function() {
    if (lastBox)
      $(lastBox).val("BUTTON HAS BEEN CLICKED");
  });
});

жить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...