1

私は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'を読み取ることができません

ここで質問する前に多くのサイトを検索しました。検証の前にnullをチェックすることをお勧めしますが、ここでの問題は、pタグにテキストを追加したいということです。これを実現するにはどうすればよいですか。問題が解決するかもしれないと思って、追加してみました。これには多くの投稿があるので、これはばかげた間違いだと思います...問題は、どこが間違っているのか理解できないということです。

助けてください。

4

3 に答える 3

4

そうでない場合は htmltryingの にアクセスし、関数内の要素を取得するステートメントをイベント関数に入れます。elementreadypalletizedWeightValidation

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

編集 postback を停止するには、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.
         }
于 2012-12-17T06:54:59.530 に答える
1

重要なことは、js ファイルがいつ実行されるかです。head タグ内に js ファイルをロードすると、DOM が作成される前にファイルが実行されます。つまり、document.getElementById 関数は null を返します。

于 2012-12-17T07:13:36.963 に答える
0

取得しているエラーは、NULL オブジェクトの属性を読み取ろうとしているために発生します。これは、次の行を意味します。

var msgErrorPalletizedWeight = document.getElementById('msgError');

ページに要素が見つかりません。

于 2012-12-17T06:54:45.170 に答える