如何将id传递给函数?

时间:2016-02-05 02:56:26

标签: javascript ajax api

JavaScript的:

function executeOnclick() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) { 
            myFunction(xhttp);
        }
    };

    xhttp.open("GET","http://try.com/students/search.php?stud_id=?" +x , true);
    xhttp.send();
}   

function myFunction(obj){
    var xmlDoc = obj.responseText;
    var x = xmlDoc.getElementsByTagName("id");

    document.getElementById("demo").innerHTML = xhttp.responseText;
}   

HTML:

<img id="1210" onclick="executeOnclick()" onload="myElement(this);" 
     class="Cpictures" src="1.jpg" width=50px height=75px alt="Robert" />

此代码不起作用。我希望当我调用 myFunction 函数时,我会获得图像的Id并将其传递给我的API。我该怎么做?

1 个答案:

答案 0 :(得分:2)

问题是function myElement()不接受任何参数。传递this传递被调用对象的引用(具体地,在这种情况下,是HTMLImageElement的实例)。但是你的功能根本就没有找到任何东西。

更改您的功能:

function myElement(){
    var getID = document.getElementById(this.id);
}   

为:

function myElement(obj){
    //Insert code you want here. I printed the id to console for example.
    console.log(obj.id);
}

允许您访问对象的ID(以及您要使用的ID的任何其他部分)。

JSFiddle