javascript - 无法更改 span 标签内的内容

标签 javascript html css

我希望能够定位当前输入和兄弟 <span>标记并将此范围的文本更改为 OK 或 NOT OK,具体取决于输入是否为空。

我现在只能通过选择键 [0] 来定位第一个跨度。我如何制作此代码以使其针对当前跨度?所以跨越 1,2 或 3。

我的 jsfiddle 不工作,代码在我的记事本++ 中原始工作。也许我忘了启动代码?

https://jsfiddle.net/26u5efzc/

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Opdracht 2: Onze Taal</title>
    <link href="style.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript">
    function checkNotEmpty(formField){ //maak functie aan geef parameters mee
        if(formField.value.length > 0){ //als waarde ongelijk is aan 0 dan
            console.log("OK"); //log OK
            document.getElementsByTagName("span")[0].innerHTML = "OK";
            return true;

        }
        else {
            console.log("NOT OK");
            document.getElementsByTagName("span")[0].innerHTML = "NOT OK"
            return false;
        }
    }
    window.onload = function(){
        document.getElementById("naam").onblur = function(){
            checkNotEmpty(this);
        };
        document.getElementById("email").onblur = function(){
            checkNotEmpty(this);
        };
        document.getElementById("vraag").onblur = function(){
            checkNotEmpty(this);
        };
    };

    </script>
</head>
<body>
    <figure>
        <img src="onzeTaal.jpg" alt="Onze Taal" title="Onze Taal" />
        <figcaption>Onze Taal</figcaption>
    </figure>
    <form name="taalvraag" method="get" action="#">
        <fieldset>
            <legend>Stel uw vraag</legend>
            <label for="naam">Uw naam:</label>
            <input type="text" name="naam" id="naam" placeholder="naam" />
            <span class="melding" id="meldingNaam">1</span>
            <br />
            <label for="email">Uw e-mailadres:</label>
            <input type="email" name="email" id="email" placeholder="e-mail" />
            <span class="melding" id="meldingEmail">2</span>
            <br />
            <label for="vraag">Uw vraag:</label>
            <input type="text" name="vraag" id="vraag" placeholder="vraag" />
            <span class="melding" id="meldingVraag">3</span>
            <br />
            <input type="submit" name="verzenden" id="verzenden" value="Verzenden" />
        </fieldset>
    </form>
</body>
</html>

最佳答案

您需要更新自

 document.getElementsByTagName("span")[0].innerHTML

formField.nextElementSibling.innerHTML

更新 fiddle - https://jsfiddle.net/26u5efzc/1/

关于javascript - 无法更改 span 标签内的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34908809/

相关文章:

Javascript - 如何在表单中提交 Canvas ?

html - 为什么我不能让按钮形成内联?

javascript - 如何清除父 <div> 中所有 <div> 的内容?

php - 在不使用表单的情况下使用下拉列表中的选定值进行排序

javascript - 在 iPad 上使用 iUI 的 HTML 表单在输入文本输入文件时滚动不稳定

css - WPBakery Accordion 背景色

javascript - React 过渡组 (v1) 在重新渲染时不激活过渡

javascript - 如何在模块导出函数中返回 SQS 队列列表?

javascript - rails Assets 管道 javascript "SyntaxError: Unexpected token export"

php - 使用 jQuery 但不使用 AJAX 将 JSON 数组传递给 PHP 脚本