我有一个文本框、一个 HTML 链接和一个 JavaScript 函数。
JavaScript 函数用于获取客户端机器的 IP 地址。当我点击链接时,我试图调用这个函数并在我的文本框中显示结果。但是,我没有得到结果。
这是我遇到的错误。
Uncaught TypeError: Cannot read property 'ip' of undefined
我的文本框:
<input type="text" id="txtmyip" name="txtmyip"readonly>
我的 HTML 链接:
<a href="#" onclick="DisplayIP();" >Show IP Address</a>
我的 Javascript 函数:
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://www.telize.com/jsonip?callback=DisplayIP";
document.getElementsByTagName("head")[0].appendChild(script);
function DisplayIP(response)
{
document.getElementById("txtmyip").value = response.ip;
}
最佳答案
需要将JSONP请求函数和显示函数分开。例如:
function displayIP() {
var script = document.createElement("script");
script.src = "http://www.telize.com/jsonip?callback=populateIP";
document.head.appendChild(script);
}
function populateIP(response) {
document.getElementById("txtmyip").value = response.ip;
}
演示:http://jsfiddle.net/Gr632/
关于javascript - 单击 HTML 链接调用 Javascript 函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029911/