如何获取调用javascript函数的文本框的id?

时间:2012-06-27 10:34:50

标签: javascript html

我想要的是获取id(即myHeader,myHeader2等)

这就是我现在正在尝试的,

HTML:

<input type="text" id="myHeader" onblur="getValue(this)" />
<input type="text" id="myHeader2" onblur="getValue(this)" />
<input type="text" id="myHeader3" onblur="getValue(this)" />
<input type="text" id="myHeader4" onblur="getValue(this)" />

使用Javascript:

function getValue(obj){
    var someVar = document.getElementById(obj).value;
}

但我没有得到任何东西,事件也没有解决,我该怎么做?

5 个答案:

答案 0 :(得分:5)

您的obj对象已有idvalue属性:

function getValue(obj){
    alert('id - ' + obj.id);
    alert('value - ' + obj.value);
}

请注意,当您将this上下文传递给函数时,会传递DOM元素。不是id。并且您可以像使用DOM元素一样使用它。无需document.getElementById

答案 1 :(得分:0)

function value(object)
 {
alert('id= ' + object.id);
 }

答案 2 :(得分:0)

正如我所看到的,当用户失去对输入字段的关注时,你可能会触发该函数。

除非您正在执行obj.value.toUpperCase();,为什么要在每个输入字段上触发相同的功能?

无论如何,@ antyrat说this会给你DOM元素,你可以从中选择value

 function getValue(obj){
 obj.value=obj.value.toUpperCase();
 }

当用户继续前进时,这将使您的输入字段全部变为upper case

答案 3 :(得分:0)

  <script type="text/javascript">
    function getValue(obj) {
        var id = obj.id;
        var value = obj.value;
    }
</script>

答案 4 :(得分:0)

您还可以获取文本框ID

<input type="text" id="myHeader" onblur="getValue(this.id)" /> <!-- instead of getValue(this) -->

<script type="text/javascript">
    function getValue(id) {
        alert(id);  // Display the id of the textbox
    }
</script>

希望它会对你有所帮助。