2014-02-28 6 views
0

У меня есть js для добавления полей, проверки пустых полей и предотвращения дублирования значений в строках. Но он работает только для проверки пустых полей. Имеет ли этот код какое-либо несоответствие при размещении или что-то еще? Благодарю.Предотвращение дублирования строки на jquery append

<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

Возможное ошибочное выражение 'выдано' вместо' issueDate' в 'if (certification == fields [0] && ... 'на ваш вопрос, а также' expireddate'? Или это также в вашем реальном коде? – alalp

+0

Мы не знаем о вашей странице, html part. – Kuzgun

+0

все о тумане, проверьте это http://jsfiddle.net/6Zx5V/ Мне не нравится -1 ваш вопрос, но вы должны проверить свой код с большей точностью. –

ответ

0

не считая опечаток имен переменных, document.getElementById использовать идентификатор элемента без #

так ошибка в этой строке

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

Смежные вопросы