2012-06-18 3 views
0

Учитывая следующий HTML и функции:Как получить доступ к отправляющему текстовому полю внутри функции «onfocus»?

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

.

function TextBoxFocus() 
{ 

} 

Возможно ли получить идентификатор вызывающего текстового поля внутри функции?

Благодаря Кевин

ответ

1

Изменение только немного ваш HTML

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

А вот вы идете:

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

Просто передайте this в качестве аргумента обработчика:

onfocus="TextBoxFocus(this)" 


function TextBoxFocus(textbox) 
{ 

} 
1

Pass это OBJ. Смотрите ниже,

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

И в сценарии,

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

Предполагая, что вы хотите использовать его для многих текстовых, так что я даю селектор class

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

Script

$(function(){ 

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

}); 

Jsfiddle образец: http://jsfiddle.net/MLH4p/

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