我想计算表单中的值。 输出应采用相同的形式和相同的行。
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>
希望这将解决您的问题