如何在“onfocus”功能中访问发送文本框?

时间:2012-06-18 18:54:41

标签: javascript jquery

给出以下HTML和函数:

<input type="text" onfocus="TextBoxFocus()" id="txtName" />

function TextBoxFocus()
{

}

是否可以从函数内部获取调用文本框的id?

由于 凯文

5 个答案:

答案 0 :(得分:1)

只需将this作为处理程序的参数传递:

onfocus="TextBoxFocus(this)"


function TextBoxFocus(textbox)
{

}

答案 1 :(得分:1)

传递这个对象。见下文,

//<!--                   Passing this obj---v                 -->
<input type="text" onfocus="TextBoxFocus(this)" id="txtName" />

在剧本中,

function TextBoxFocus(obj)
{
    alert(obj.id);
}

答案 2 :(得分:1)

稍微更改你的HTML

<input type="text" onfocus="TextBoxFocus(this)" id="txtName" />

你走了:

function TextBoxFocus(self) {
    var id = self.id
}​

答案 3 :(得分:0)

我做了一个JSFiddle,这似乎有效:

<input type="text" onFocus="onFocus(this)" />

答案 4 :(得分:0)

假设你想将它用于许多文本框,那么我给的是class选择器

<input type="text"  id="txtName1" class="someTextBox"/>
<input type="text"  id="txtName2" class="someTextBox"/>

脚本

$(function(){

  $(".someTextBox").focus(function(){
     var txtID=$(this).attr("id");
     alert(txtID);
  });

});

Jsfiddle样本:http://jsfiddle.net/MLH4p/