我有两个输入可以保存一个值并输入一个值。
calculate()
有点做这个工作,但我在控制台出错:
Uncaught TypeError: Cannot set property 'value' of null(…)
但对calculate()
我只得到那个错误!
if($sal>10){
echo '<td>
<input type="text" oninput="calculate()" name="monthly_sum_019" id="monthly_sum_019" value="">
<input type="hidden" class="input toggle all" id="monthly_sum_019" oninput="calculate()" value="" placeholder="'.$sal.'"></td>';
}else{
echo '<td>
<input type="text" oninput="calculate()" name="monthly_sum_019" id="" value="">
<input type="hidden" class="input toggle all" id="monthly_sum_019" oninput="calculatez()" value="'.$sal.'"></td>';
}
有2个输入返回计算结果:
if($sal>10){
echo '<td>
<input type="text" id="result" name="reward_019" value=""></td>';
}else{
echo '<td>
<input type="text" id="result2" name="reward_019" value=""></td>';
}
和javascript:
<script>
function calculate() {
var myBox1 = parseFloat(document.getElementById('monthly_sum_019').value);
var myBox2 = parseFloat(document.getElementById('norm').value);
var myBox3 = parseFloat(document.getElementById('time_hours_019').value);
var result = document.getElementById('result');
var myResult = (myBox1 / myBox2) * myBox3;
result.value = myResult.toFixed(2);
}
</script>
<script>
function calculatez() {
var myBox1 = parseFloat(document.getElementById('hourmoney').value);
var myBox3 = parseFloat(document.getElementById('time_hours_019').value);
var result2 = document.getElementById('result2');
var myResult = myBox3 * myBox1;
result2.value = myResult.toFixed(2);
}
</script>
有什么问题?
答案 0 :(得分:1)
通常Cant do something of NULL
表示您尝试选择元素,但它不会在DOM中显示。
我看到您尝试选择标识为result2
的元素,但在您提供的代码中,我看到$sal > 10 == true
时您没有为此元素添加元素。
由于它是PHP代码, 可以在if
和else
部分具有相同的ID(但多次不在同一部分中)。