2010-11-05 4 views
0

У меня есть форма и кнопка.Зная последнее текстовое поле с помощью javascript

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

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

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

ответ

2

Вам нужно сохранить ссылку на текстовое поле, когда вы нажмете на нее. Самый простой способ сделать это - создать глобальную переменную для ссылки. Затем вы обновите ссылку с событием 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'; 
} 

Live example.

0

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"); 
    }); 
}); 

live

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