2015-09-03 4 views
1

Я пытаюсь получить значение поля ввода, которое присутствует в теге <td>.Получить значение поля ввода в теге td с помощью javascript

<td class="edit_td1" id="<?php echo $id; ?>"> 
    <div class="form-group"> 
     <div class="col-lg-3 inputContainer"> 
      <input class="form-control cls-quantity" id="quanti_<?php echo $id; ?>" name="number" type="text" /> 
     </div> 
    </div> 
</td> 
//...some code here 
<a href="customer_details.php?shop=<?php echo $_GET['shop'];?>" class="btn btn-info" role="button" onclick="return td_validation();">Generate Bill</a> 

и Javascript код:

function td_validation() 
{ 
    //alert("tds validation"); 
    var tds = document.getElementById('table_id').getElementsByTagName('td'); 
    var sum = 0; 
    //alert(tds.length); 
    for(var i = 0; i < tds.length; i ++) 
    { 
     if(tds[i].className == 'edit_td1' && tds[i].innerHTML==0) 
     { 
      //alert(tds[i].innerHTML); 
      sum +=i; 
     } 
    } 
    if(sum !=0) 
    { 
     alert("Enter quantity for "+sum+" fields"); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 

Здесь я хочу, чтобы получить значение в поле ввода, и если это значение равно 0, то сделать sum +=i.

ответ

1

Вот сокращенный вариант того, что вы пытаетесь сделать:

function td_validation() 
{ 
    var tds = document.querySelectorAll('#table_id td.edit_td1'); 
    var sum = 0; 
    for(var i = 0; i < tds.length; i++) 
    { 
     if (tds[i].querySelector('input.cls-quantity').value === "0") { 
      sum +=i; 
     } 
    } 

    if(sum !=0) 
    { 
     alert("Enter quantity for "+sum+" fields"); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 
+0

большой ... он работает. Пожалуйста, проголосуйте, если мой вопрос будет полезен. –

0

@ ответ toivin является правильным, я сделал некоторые изменения в нем,

function td_validation() 
{ 
    var tds = document.getElementById('table_id').getElementsByTagName('td'); 
    var sum = 0; 
    for(var i = 0; i < tds.length; i ++) 
    { 
     if(tds[i].className == 'edit_td1') 
     { 
      var a = parseInt(tds[i].querySelector('input.cls-quantity').value); 
      if(a==0) 
      { 
       sum +=i; 
      } 
     } 
    } 
    if(sum !=0) 
    { 
     alert("Quantity should not be zero...!!!"); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
}