![](/img/trans.png)
[英]Passing the values from dynamically created textboxes to an array using JavaScript only
[英]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.