我是javascript的新手。

js文件

         var msgErrorPalletizedWeight = document.getElementById('msgError');
         function palletizedWeightValidation() {
              console.log("hello");
/*ERROR*/     msgErrorPalletizedWeight.innerHTML += ("Please enter all the values marked with *");
         }


的HTML

<head runat="server">
   <title></title>
   <link href="Styles/Site.css" rel="stylesheet" type="text/css" />
   <script src="Scripts/file.js" type="text/javascript"></script>
</head>
<body>
    <p id="msgError"></p>
    <asp:Button ID="btnSubmitPalletized" runat="server" Text="Submit"
                   OnClientClick="palletizedWeightValidation()" />
</body>


错误


  无法读取null的属性“ innerHTML”


我搜索了许多站点,然后再问这里,它们都建议在进行验证之前检查是否为空,但是我的问题是,我想向p标签添加一些文本,如您所见。我什至尝试添加,以为它可以解决问题。我知道这是一个愚蠢的错误,因为有很多相关的帖子……问题是我无法理解我要去哪里。

请帮忙。

最佳答案

当您不是HTML的trying时,您是element来访问html的ready,将语句放在事件函数中以获取函数palletizedWeightValidation中的元素。

      function palletizedWeightValidation() {
              var msgErrorPalletizedWeight = document.getElementById('msgError');
              console.log("hello");
/*ERROR*/     msgErrorPalletizedWeight.innerHTML += ("Please enter all the values marked ith *");
         }


编辑要停止回发,您需要从javascrip函数返回false。

 <asp:Button ID="btnSubmitPalletized" runat="server" Text="Submit"
                   OnClientClick="return palletizedWeightValidation()" />


      function palletizedWeightValidation() {
              var msgErrorPalletizedWeight = document.getElementById('msgError');
              console.log("hello");
/*ERROR*/     msgErrorPalletizedWeight.innerHTML += ("Please enter all the values marked ith *");
              return false; // returning true will cause postback.
         }

关于javascript - 无法读取null的属性“innerHTML”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13909567/

10-11 14:11