簡體   English   中英

無法從JavaScript中動態創建的文本框中獲取值

[英]Cannot fetch values from dynamically created textboxes in javascript

FORM SNAPSHOT 2 PHP代碼,用於動態創建文本框

for($i=0;$i<count($chkSelec);$i++)
            {
                echo "<td align='center'><input type='text' id='".$columnValue[$i]."' name='".$columnValue[$i]."[]' size='5' onchange=AddToAggr('".$columnValue[$i]."',".$count_var.") required /></td>";   
            }

echo "<td align='center'><input type='text' id='Aggr' name='Aggr[]' size='7' value='".$rowText['TotalGrade']."' readonly='readonly' disabled/></td>";

這是我的JavaScript函數

var i=0;
var TotalGrade=0;
function AddToAggr(val,countvar) {
    var group6 = document.PIScoreForm.Aggr;
    for(var i=0;i<2;i++)
    {
        for(var j=i;j<countvar;j++)
        {
            if(val=='Comm')
            {       
                var group1 = document.PIScoreForm.Comm;
                 TotalGrade += parseFloat(group1[i].value);
            }
            else if(val=='PresSkil')    
            {
                var group2 = document.PIScoreForm.PresSkil;
                TotalGrade += parseFloat(group2[i].value);
                alert('2 :'+TotalGrade);
            }
            else
            {
                    TotalGrade += 0;
            }
        }   
        document.getElementsByName("Aggr")[i].value = TotalGrade;
        alert("Total " + i+" "+TotalGrade); 
    }
}

我想查找每列的平均值並將其顯示在Aggr文本框中。 在第一個for循環中,條件i <2是Panalist的數量。 我將時間的價值硬編碼。

對於初學者, document.getElementsByName調用應接受“ Aggr [] ”,而不是“ Aggr”,這將消除在控制台上引發的“非對象”錯誤。

在沒有其他上下文的情況下,可能需要進行其他更改,此修復程序將應用於您提供的內容。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>PHP code for creating textboxes dynamically</title>
</head>
<body>

<?php
// Mock Data
$rowText = array (
    'TotalGrade' => 0
);
$columnValue = array();
for($i=0;$i<5;$i++)
{
    $columnValue[$i] = "testValue";
    echo "<td align='center'><input type='text' id='".$columnValue[$i]."' name='".$columnValue[$i]."[]' size='5' onchange=AddToAggr('".$columnValue[$i]."',".$i.") required /></td>";
}

echo "<td align='center'><input type='text' id='Aggr' name='Aggr[]' size='7' value='".$rowText['TotalGrade']."' readonly='readonly' disabled/></td>";

?>

<script>
    var i=0;
    var TotalGrade=0;
    function AddToAggr(val,countvar) {
        //var group6 = document.PIScoreForm.Aggr;
        for(var i=0;i<2;i++)
        {
            for(var j=i;j<countvar;j++)
            {
                if(val=='Comm')
                {
                    var group1 = document.PIScoreForm.Comm;
                    TotalGrade += parseFloat(group1[i].value);
                }
                else if(val=='PresSkil')
                {
                    var group2 = document.PIScoreForm.PresSkil;
                    TotalGrade += parseFloat(group2[i].value);
                    alert('2 :'+TotalGrade);
                }
                else
                {
                    TotalGrade += 0;
                }
            }
            document.getElementsByName("Aggr[]")[i].value = TotalGrade;
            alert("Total " + i+" "+TotalGrade);
        }
    }
</script>

</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM