2016-01-20 95 views
1

我希望能夠定位當前輸入和同級<span>標記,並將此跨度的文本更改爲「確定」或「不確定」,具體取決於輸入是否爲空。無法更改跨度標記內的內容

我現在只能通過選擇鍵[0]來鎖定第一個量程。我如何製作此代碼,使其定位於CURRENT跨度?所以跨度1,2或3.

我的jsfiddle不起作用,代碼在我的notepad ++中生效。也許我忘了一些東西來啓動代碼?

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> 
+1

1)問題中的代碼與jsfiddle不匹配;你有一個'window.onload',另一個'document.ready'。 2)jsfiddle默認已經把所有東西都放在window.onload事件中,所以你的代碼永遠不會觸發,因爲事件已經消失了。 – JJJ

回答

0

固定的問題與F然後,創建一個新參數並使用它來查找當前輸入和跨度元素

function checkNotEmpty(veld, melding){ //maak functie aan geef parameters mee 
     if(veld.value.length != 0){ //als waarde ongelijk is aan 0 dan 
      console.log("OK"); //log OK 
      melding.innerHTML = "OK"; 
      return true; 

     } 
     else { 
      console.log("NOT OK"); 
      melding.innerHTML = "NOT OK"; 
      return false; 
     } 
    } 
    window.onload = function(){ 
     document.getElementById("naam").onblur = function(){ 
      checkNotEmpty(this, document.getElementById('meldingNaam')); 
     }; 
     document.getElementById("email").onblur = function(){ 
      checkNotEmpty(this, document.getElementById('meldingEmail')); 
     }; 
     document.getElementById("vraag").onblur = function(){ 
      checkNotEmpty(this, document.getElementById('meldingVraag')); 
     }; 
    };