2010-11-05 34 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