javascript - 单击 HTML 链接调用 Javascript 函数时出错

标签 javascript jquery html textbox ip-address

我有一个文本框、一个 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/

相关文章:

javascript - 水平条形图在 yAxis 中垂直对齐长文本

java - 使用将 Java 呈现为 String 的 Javascript 获取最终 HTML

php - 将从 AJAX 发送的多个值插入到 sql 数据库中

html - Perl 编码 - 将文件保存为 UTF8

javascript - Node 获取帮助 - 获取 FetchError : invalid json response > body at <url> reason: > Unexpected end of JSON input

jquery - 想要在单击表行时获取当前表数据的值

javascript - 对象方法不是函数

html - Accordion 内容左对齐呈现导致缩进问题 - css,html

javascript - 防止工具提示转换 HTML 实体

javascript - 使用 Ryan Fait "Check All"自定义表单元素时的 's "函数”