通过javascript访问HTML输入数组字段
下面的HTML代码引用javascript根据计算值更新同一行中的另一个输入字段。我似乎无法引用HTML字段,因为它返回时未定义。问题是HTML输入数组值是NAME[EmployeeID],因此我将EmployeeID传递给函数以引用正确的HTML字段。只是似乎不知道如何格式化innerHTML命令通过javascript访问HTML输入数组字段,javascript,html,input,Javascript,Html,Input,下面的HTML代码引用javascript根据计算值更新同一行中的另一个输入字段。我似乎无法引用HTML字段,因为它返回时未定义。问题是HTML输入数组值是NAME[EmployeeID],因此我将EmployeeID传递给函数以引用正确的HTML字段。只是似乎不知道如何格式化innerHTML命令 <script language="javascript"><!-- function updateAdvance(eWorked, eID, AdvanceAmt, eRate)
<script language="javascript"><!--
function updateAdvance(eWorked, eID, AdvanceAmt, eRate) {
if (AdvanceAmt > 0) {
var ePay = eWorked * eRate;
if (ePay < AdvanceAmt) {
document.getElementById(Amt2Adv[eID]).innerHTML = AdvanceAmt.toFixed(2);
} else {
document.getElementById(Amt2Adv[eID]).innerHTML = ePay.toFixed(2);
}
}
}
//--></script>
HTML代码
<tr>
<td colspan="10"><form name="compensation" action="https://somewhere.com/something.php?date=2018-11-09&action=compensation" method="post"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="contentHeading" align="center" colspan="8"><b>Compensation</b></td>
</tr>
<tr>
<td align="center"><b>Select</b></td>
<td align="center"><b>Employee</b></td>
<td align="center"><b>Type</b></td>
<td align="center"><b>Period</b></td>
<td align="center"><b>Amount</b></td>
<td align="center"><b>Worked</b></td>
<td align="center"><b>Amt->Adv</b></td>
<td align="center"><b>Advance</b></td>
<td align="center"><b>GiftCard</b></td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="employee[4]" value="1" CHECKED></td>
<td align="center">Joe Fabitz</td>
<td align="center">Cash</td>
<td align="center">Hourly</td>
<td align="center">$10.00</td>
<td align="center"><input type="text" name="worked[4]" value="8.00" size="3" onKeyUp="updateAdvance(this.value, '4','30.00','10.00')"><input type="hidden" name="period[4]" value="1"></td>
<td align="center">$<input type="text" name="amt2adv[4]" value="0.00" size="4"></td>
<td align="center">$<input type="text" name="advance[4]" value="0.00" size="4"></td>
<td align="center">0</td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="employee[3]" value="1" CHECKED></td>
<td align="center">Jane Fabitz</td>
<td align="center">Cash</td>
<td align="center">Hourly</td>
<td align="center">$10.00</td>
<td align="center"><input type="text" name="worked[3]" value="8.00" size="3" onKeyUp="updateAdvance(this.value, '3','100.00','10.00')"><input type="hidden" name="period[3]" value="1"></td>
<td align="center">$<input type="text" name="amt2adv[3]" value="20.00" size="4"></td>
<td align="center">$<input type="text" name="advance[3]" value="0.00" size="4"></td>
<td align="center">0</td>
</tr>
<tr>
<td align="center" colspan="8"><button type="submit" name="" class="css3button">Save</button> <a href="https://somewhere.com/something.php?date=2018-11-09"><button type="button" name="" class="css3button">Cancel</button></a></td>
</tr>
</table></form></td>
</tr>
补偿
选择
受雇者
类型
时期
数量
工作
金额->高级
进展
礼品卡
乔·法比茨
现金
每小时
$10.00
$
$
0
简·法比茨
现金
每小时
$10.00
$
$
0
拯救
如果要选择具有getElementById
的元素,则需要具有注释中提到的id
属性的元素
如果希望按元素名称获取元素,可以使用
,返回与提供的document.querySelector
查询匹配的第一个元素,或
返回带有提供的document.getElementsByName
名称的所有元素
输入的显示值
s,您需要设置输入的值
,而不是innerHTML
另外,String
没有toFixed
方法,您需要首先将AdvanceAmt
解析为Number
函数updateVance(eWorked、eID、AdvanceAmt、Rate){
AdvanceAmt=parseFloat(AdvanceAmt);
如果(AdvanceAmt>0){
var ePay=eWrked*汇率;
变量选择器=`input[name=“amt2adv\[${eID}\]”输入;
如果(ePay
补偿
选择
受雇者
类型
时期
数量
工作
金额->高级
进展
礼品卡
乔·法比茨
现金
每小时
$10.00
$
$
0
简·法比茨
现金
每小时
$10.00
$
$
0
拯救
HTML中似乎根本没有任何id
s,那么getElementById
应该选择什么?另外,函数中的所有参数是什么?