2014-02-28 75 views
0

我有这个js的附加字段,检查空白字段,并防止行重复的值。但它只适用于检查空白字段。这段代码是否与展示位置或其他内容有任何不匹配?谢谢。jQuery的附加防止重复行

<script> 
    count4 = 1; 
    function appendCertification(){ 
     var certification = $('#certification').val(); 
     var skillSector = $('#skillSector').val(); 
     var issueDate = $('#issueDate').val(); 
     var expirDdate = $('#expiryDate').val(); 

     if(cerfication == "" || skillSector == "" || issueDate == "" || expiryDate == "") { 
      alert("please fill minimum 1 row"); 
      return false; 
     } 
     for (var i = 0, row; row = document.getElementById("#certificationTable").rows[i]; i++) { 
      var fields = new Array(); 
      for (var j = 0, col; col = row.cells[j]; j++) { 
       fields[j] = col.innerHTML; 
      } 
      if(certification == fields[0] && skillSector == fields[1] && issuedate == fields[2] && expireddate == fields[3]) { 
       alert("Duplicate row"); 
       return false; 
       } 
     } 
     var field = "<tr><td>"+certification+"</td><td>"+skillSector+"</td><td>"+issueDate+"</td><td>"+expiryDate+"</td><input type='hidden' name='certificationVal[]' value='"+certification+"'><input type='hidden' name='sectorSkillVal[]' value='"+sectorSkill+"'><input type='hidden' name='issueDateVal[]' value='"+issueDate+"'><input type='hidden' name='expiryDateVal[]' value='"+expiryDate+"'></tr>"; 
     $("#certificationTable tbody").append(field); 
     count++; 
    }; 

    function clearform(){ 
     $("#certificationTable tbody").html(""); 
    }; 
    </script> 
+0

可能在'if(认证==字段)中忘记'issuedate'而不是'issueDate' [0] && ...'在你的问题和'expireddate'?或者它也在你的真实代码中? – alalp

+0

我们不知道你的页面,html部分。 – Kuzgun

+0

这是所有关于mistyping,检查这个http://jsfiddle.net/6Zx5V/我不喜欢-1你的问题,但你应该更准确地检查你的代码 –

回答

0

不考虑变量名的错误输入,document.getElementById使用元素的ID没有#

因此错误是此行中

for (var i = 0, row; row = document.getElementById("#certificationTable").rows[i]; i++) { 

应该

for (var i = 0, row; row = document.getElementById("certificationTable").rows[i]; i++) { 
+0

jsfiddle.net/6Zx5V – user3279136