我有这个用于计算方形区域的脚本,它完美无缺:
<script language="javascript" type="text/javascript">
function startCalc(){
interval = setInterval("calc()",1);
}
function calc(){
one = document.autoSumForm.firstBox.value;
two = document.autoSumForm.secondBox.value;
document.autoSumForm.Area.value = (one * 1) * (two * 1);
}
function stopCalc(){
clearInterval(interval);
}
</script>
<form name="autoSumForm">
<input size="3" type=text name="firstBox" value="" onFocus="startCalc();" onBlur="stopCalc();">
<input size="3" type=text name="secondBox" value="" onFocus="startCalc();" onBlur="stopCalc();">
<input size="4" type=text name="Area" readonly="true">
</form>
Run Code Online (Sandbox Code Playgroud)
但我的问题是我需要第三个盒子的名称 Area[<?php echo $area['area_id']; ?>]
但是,当我在名称中使用括号时,我无法使javascript工作.
请注意,如果您不需要,则不应添加括号!它使它变得不必要复杂.
在您发布的代码中,没有迹象表明您需要这些括号.如果您有多个具有相同名称的输入字段并且希望PHP创建数组,则通常会添加它们.有关更多信息,请参阅外部源的变量.
如果您需要它们,您必须使用括号表示法来访问该字段:
document.autoSumForm['Area[<?php echo $area["area_id"]; ?>]'].value = (one * 1) * (two * 1);
Run Code Online (Sandbox Code Playgroud)
另外我建议不要在字段名称的括号内传递值.这会简化您的代码:
<input size="4" type=text name="Area[]" readonly="true">
Run Code Online (Sandbox Code Playgroud)
和:
document.autoSumForm['Area[]'].value = (one * 1) * (two * 1);
Run Code Online (Sandbox Code Playgroud)
然后,PHP将创建一个包含连续数字键的数组0.
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |