使用new创建时,对象属性未定义

时间:2016-12-06 23:26:15

标签: javascript dom

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>

2 个答案:

答案 0 :(得分:0)

livre()构造函数中,没有初始化对象属性。使用“this”伪变量初始化构造对象字段,将var替换为this.

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

请参阅Operator new

答案 1 :(得分:-1)

将变量i初始化为某个东西。现在它是空的

    var i = 0;