脚本不更改<span>中的文本

时间:2019-01-09 16:24:30

标签: javascript html nodes

我有这个脚本,该脚本通过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>

1 个答案:

答案 0 :(得分:0)

解决了!

我改变了

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

if (conn.readyState === 4) {

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