Javascript 如何在使用循环时添加?
我创建了一个代码,添加输入值并在第三个输入框中显示结果,但结果总是Nan,如何解决这个问题Javascript 如何在使用循环时添加?,javascript,php,html,Javascript,Php,Html,我创建了一个代码,添加输入值并在第三个输入框中显示结果,但结果总是Nan,如何解决这个问题 <?php for ($i=0; $i < 5 ; $i++) { ?> <input type="number" name="" id="pop<?php echo $i; ?>" > <input onKeyup="su<?php echo $i; ?>();" type="number" name="" i
<?php
for ($i=0; $i < 5 ; $i++) {
?>
<input type="number" name="" id="pop<?php echo $i; ?>" >
<input onKeyup="su<?php echo $i; ?>();" type="number" name="" id="ta<?php echo $i; ?>">
<input type="number" name="" id="display<?php echo $i; ?>">
<br>
<script>
function su<?php echo $i; ?>(){
var x = document.getElementById("pop<?php echo $i; ?>");
var y = document.getElementById("ta<?php echo $i; ?>");
var sum;
if (y != ''){
sum = parseFloat(x + y);
document.getElementById("display<?php echo $i; ?>").value = parseFloat(x + y);
}
}
</script>
<?php
}
?>
您需要从pop
和ta
中获取值,然后添加这些值,而不是元素本身。见:
function su<?php echo $i; ?>(){
var x = parseFloat(document.getElementById("pop<?php echo $i; ?>").value); // HERE
var y = parseFloat(document.getElementById("ta<?php echo $i; ?>").value); // HERE
var sum;
if (y != ''){
sum = parseFloat(x + y);
document.getElementById("display<?php echo $i; ?>").value = x + y;
}
}
</script>
函数su(){
var x=parseFloat(document.getElementById(“pop”).value);//此处
var y=parseFloat(document.getElementById(“ta”).value);//此处
var和;
如果(y!=''){
总和=浮点(x+y);
document.getElementById(“显示”).value=x+y;
}
}
更改这两行
之前:
var x = document.getElementById("pop<?php echo $i; ?>");
var y = document.getElementById("ta<?php echo $i; ?>");
var x=document.getElementById(“pop”);
var y=document.getElementById(“ta”);
之后:
var x = document.getElementById("pop<?php echo $i; ?>").value;
var y = document.getElementById("ta<?php echo $i; ?>").value;
var x=document.getElementById(“pop”).value;
var y=document.getElementById(“ta”).value;
无法创建动态功能
将动态值传递给函数
PHP
<?php
for ($i=0; $i < 5 ; $i++) {
?>
<input type="number" name="" id="pop<?php echo $i; ?>" >
<input onKeyup="su(<?php echo $i; ?>);" type="number" name="" id="ta<?php echo $i; ?>">
<input type="number" name="" id="display<?php echo $i; ?>">
<br />
<?php
}
?>
function su(id){
var x = document.getElementById("pop"+id);
var y = document.getElementById("ta"+id);
var sum;
if (y != ''){
sum = parseFloat(x + y);
document.getElementById("display"+id).value = parseFloat(x + y);
}
}