我试图获取<td>
标记中存在的输入字段的值。
<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
。
答案 0 :(得分: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;
}
}
答案 1 :(得分: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;
}
}