Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在使用循环时添加?_Javascript_Php_Html - Fatal编程技术网

Javascript 如何在使用循环时添加?

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

我创建了一个代码,添加输入值并在第三个输入框中显示结果,但结果总是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="" 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);       
    }
}