根据表单输入计算值



我想计算表单中的值。 输出应采用相同的形式和相同的行。

echo '<td id="textone_'.$row['id'].'">'.$row['fee']. '</td>'; 
echo '<td id="texttwo_'.$row['id'].'" align="center"> 
<input type="number" min="0" max="999" 
name="cnt"     value="0"   
onkeyup="sum('.$row['id'].');"></td>';
echo '<td> <input type="text" 
name="result_'.$row['id'].'" id="result"></td>';
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
function sum(rowid) {
var txtFirstNumberValue =  
document.getElementById('textone_'+rowid).innerHTML;
var txtSecondNumberValue = 
document.getElementById('texttwo_'+rowid).value;
var result = parseInt(txtFirstNumberValue) + 
parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('result_'+rowid).value = result;
}
}
</script>

我尝试这样做,但我的表格中没有回复. 我犯了什么错误

jsfunction sum()的第一行有错误

var txtFirstNumberValue =  document.getElementById('textone').innerHTML;

如果要从非输入字段访问值,则应使用 innerHTML 而不是值

如果您有多行,则必须执行以下操作

HTML/PHP

echo '<td id="textone_'.$row['id'].'">'.$row['fee'].  
'</td>'; 
echo '<td id="texttwo_'.$row['id'].'" align="center"> 
<input type="number" min="0" max="999" 
name="cnt"     value="0"   
onkeyup="sum('.$row['id'].');"></td>';
echo '<td> <input type="text" 
name="result_'.$row['id'].'" id="result"></td>';

$row['id'] 可以替换为表的主键或唯一字段

.JS

<script>
function sum(rowid) {
var txtFirstNumberValue =  document.getElementById('textone_'+rowid).innerHTML;
var txtSecondNumberValue = document.getElementById('texttwo_'+rowid).value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('result_'+rowid).value = result;
}
}
</script>

希望这将解决您的问题

最新更新