在javascript函数中传递文本框ID

时间:2015-06-30 05:57:53

标签: javascript

我想将textbox id传递给javascript函数,但它返回对象事件。我的代码如下:

1] textbox html code

Name :<input type="text" size="60" Id="txtacname" onblur="textempty()"    
name="txtacname"  maxlength="80" autofocus>

2]这里是js文件中的javascript函数

$(document).ready(function(){
  var x=document.getElementById("myform");
  x.addEventListener("blur",textempty,true);

  function textempty(id)
  {
    var tid=("#" + id);
    window.alert(tid);
  }
});

3 个答案:

答案 0 :(得分:0)

您必须将id作为参数发送。

Name :<input type="text" size="60" Id="txtacname" onblur="textempty('txtacname')"    
name="txtacname"  maxlength="80" autofocus>

答案 1 :(得分:0)

请参阅此示例http://jsfiddle.net/kevalbhatt18/380L9w5c/1/

使用jquery

$('input[type="text"]').blur(function(){
  console.log($(this).attr('id'))
})

在您的代码中,您正在使用 $(document).ready(),所以我认为您正在使用jquery,所以jquery会帮助您,这很容易

答案 2 :(得分:0)

使用纯js,只需将参数更新为textempty(this.id)

var textempty = function(id) {
  alert(id);
};
Name :
<input type="text" size="60" Id="txtacname" onblur="textempty(this.id);" name="txtacname" maxlength="80" autofocus>

使用纯js,无需参数更新:

var textempty = function(e) {
  e = e || window.event;
  var id = (e.srcElement || e.target).id;
  alert(id);
};
Name :
<input type="text" size="60" Id="txtacname" onblur="textempty();" name="txtacname" maxlength="80" autofocus>

使用jquery:

$(function() {
  $('input[type=text]').on('blur', textempty);
});

var textempty = function(e) {
  var id = this.id;
  alert(id);
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Name :
<input type="text" size="60" Id="txtacname" name="txtacname" maxlength="80" autofocus>