2016-12-06 17 views
1

プロパティl.livreobjは以下では定義されていません。どうして?新規作成時にオブジェクトプロパティが定義されていません

function livre() { 
      i=i+1; 
      var cd = document.getElementById("act").value.substr(0,3)+"-"+i; 
      var isbn = document.getElementById("isbn").value; 
      var act = document.getElementById("act").value; 
      var titre = document.getElementById("titre").value; 

      var livreobj ={ 
       Cd:cd, 
       Isbn:isbn, 
       Act:act, 
       Titre:titre 
      }; 

    } 



     function add() { 
      var l = new livre(); 
      alert("kjkj"); 
      ajoutertable(l.livreobj); 
     } 

HTML:

<body> 
code : <input type="text" id="cd" disabled/> 

    isbn : <input type="text" id="isbn"/> 

    Acteur : <input type="text" id="act"/> 

    Titre : <input type="text" id="titre"/> 

    <input type="button" id="ajt" value="Ajouter" onclick="add();"/> 

<table border id = "myTable"> 
<tr> 
    <td> 
    Code</td> 
    <td> 
    ISBN</td> 
    <td> 
    Auteur</td> 
    <td> 
    Titre</td> 
    <td> 
    Action</td> 
</tr> 
</table> 
+0

あなたのHTML構造は何を参照してください

 this.livreobj ={ Cd:cd, Isbn:isbn, Act:act, Titre:titre }; 

this.varを置き換え、構築されたオブジェクトのフィールドを初期化するために、「この」擬似変数を使用しますか? – Dekel

+1

私はこのタイプのロジックをあまり使っていませんが、varの代わりに 'this.livreobj = ...'のように感じています。 – Taplar

+0

@AyoubElHafiあなたの質問を編集し、コメントとしてではなくマークアップを入れてください。 – Taplar

答えて

-1

は私が何かに変数を初期化します。今すぐnullです

var i = 0; 
+0

はいそれはすでにどこかで初期化されており、私は問題の原因ではありません –

0

あなたのlivre()コンストラクタでは、オブジェクトのプロパティは初期化されていません。 Operator new

関連する問題