2015-06-11 58 views
-2

我在控制台中得到一个错误,无法设置属性'innerHTML'of null,我如何修复document.getElementById后的文本在1秒后不会闪烁。 我现在添加了HTML代码,但是当我想发布按钮时,我只想提交表单,当所有内容都填充并且未填写时,我想显示错误消息。无法设置空值Javascript验证属性'innerHTML'

function validateForm() 
    { 
     var error = 0; 
     if(!voornaam('voornaam')) 
     { 
      document.getElementById('VoornaamError').innerHTML = "vul het veld naam in"; 
      error++; 
     } 
     if(!email(document.getElementById('Email').value)) 
     { 
      error++; 
      document.getElementById('EmailError').innerHTML = "vul het veld email in"; 
     } 
     if(error > 0){ 
      return false; 
     } 
    } 

<form method="post" onsubmit="return validateForm()"> 
          <label>Voornaam*</label> 
          <input type="text" name="Username" id="Username" placeholder="voornaam" onblur="voornaam(this)" maxlength="40"> 
          <div id="VoornaamError" style="color: red;"></div> 

          <label>tussen voegsel</label> 
          <input type="text" name="Username" id="Username" placeholder="tussen vgsl"> 
          <br> 

          <label>Achternaam*</label> 
          <input type="text" id="Achternaam" placeholder="achternaam" onblur="achternaam(this)" maxlength="40"> 
          <div id="AchternaamError" style="color: red;"></div> 

          <label>Adres*</label> 
          <input type="text" id="Adres" placeholder="adres" onblur="adres(this)" maxlength="40"> 
          <div id="AdresError" style="color: red;"></div> 

          <label>Postcode*</label> 
          <input type="text" id="Postcode" placeholder="postcode" onblur="postcode(this)" maxlength="7"> 
          <div id="PostcodeError" style="color: red;"></div> 

          <label>Woonplaats*</label> 
          <input type="text" id="Woonplaats" placeholder="woonplaats" onblur="woonplaats(this)" maxlength="40"> 
          <div id="WoonplaatsError" style="color: red;"></div> 

          <label>Telefoonnummer mobiel*</label> 
          <input type="text" id="Telefoonnummer" placeholder="telefoonnummer" onblur="telefoonnummer(this)" maxlength="20"> 
          <div id="telError" style="color: red;"></div> 

          <label>Email adres*</label> 
          <input type="text" id="Email" placeholder="email" onblur="email(this)" maxlength="20"> 
          <div id="emailError" style="color: red;"></div> 

          <input type="submit" value="post"> 
        </form> 
+0

我们可以看到关联的HTML吗?它看起来像getElementById失败。 id名称不正确? – Steve

+0

你能更好地描述错误吗?另外,请发布元素的html与id:'VoornaamError'和'EmailError'。 –

+0

'emailError'应该在你的js中以小写字母开头。你已经把它作为'EmailError',它应该是'emailError'。 –

回答

0

的问题是你在你的getElementById,作为标识使用EmailErroremailError。 ID区分大小写。

调试此类错误的另一种方法是使用Google Chrome调试器或其他开发工具来捕获未捕获的异常,并查看哪个getElementById无法获取节点(该元素为null,您试图设置innerHTML上)。

或者你可以测试不被粘贴到这些控制台一个工作由一个:

  1. document.getElementById('VoornaamError')
  2. document.getElementById('EmailError')

这些是故障排除的JavaScript走好基本方法一点点时间学习,但会对你前进非常有帮助。

+1

好的额外信息。 –

0

你有id="emailError"小写e,但getElementById('EmailError')与资本E。 ID区分大小写!

相关问题