首页 > 解决方案 > 脚本不改变文本

问题描述

我有这个脚本,它通过 API 从邮政编码中收集地名。邮政编码被插入到一个字段中,相应的地方显示在一个<span>. 它在我的几个网站上运行良好,但在这一页(Wordpress、Kinetika 主题)上它不起作用。

该站点使用的是联系表格 7,但似乎与此无关(在其他使用 CF7 的站点上工作)。

我对这个特定主题导致这个问题的原因一无所知。有什么建议么?

尝试将 [text....] 更改为<input type="text" id="poststed">. 不用找了。

正如您可以在这里看到的,它运行得很好:https ://js.do/code/275407

[text* postnummer id:postnummer class:postnummer]
<span id="poststed" style="font-weight: 700; color: #00ba00">POSTSTED</span>

<script>
    function validatePostalcode(postnummer) {
        if (postnummer.length < 4) {
            return;
        } else {
            var conn = new XMLHttpRequest();
            conn.onreadystatechange = function () {
                if (conn.readyState === XMLHttpRequest.DONE) {
                    var data = JSON.parse(conn.responseText);
                    document.getElementById('poststed').textContent = data.result;
                }
            };
            var url = 'https://fraktguide.bring.no/fraktguide/api/postalCode.json?pnr=' + postnummer + '&callback=?'; conn.open('GET', url, true); conn.send();
        }
    }
    var ele = document.getElementById('postnummer');
    ele.addEventListener('keyup', function (evt) {
        validatePostalcode(ele.value);
    });
</script>

标签: javascripthtmlnodes

解决方案


解决了!

我变了

if (conn.readyState === XMLHttpRequest.DONE) {

if (conn.readyState === 4) {

现在它起作用了!我不确定为什么这不是其他 WP 主题的问题,但至少这为我解决了问题。


推荐阅读