我一直在尝试根据值类型
来更改字段如果B1权重= 100 - 在字段B32和C32中显示(权重* 1.5) 如果B2 gender = M - 在字段B5和C5中显示特定值
有数百只,但这是我到目前为止所拥有的。这对我来说是合乎逻辑的,所以不知道我做错了什么/错过了什么。
我不想要提交,所以需要“实时”发生。可以使用下面的代码。
<script>
function calcule2() {
var i = 0;
for (i = 0; i <= 2; i++) {
calcule();
}
}
function calcule() {
myForm.B5.value = IF(parseFloat(myForm.B2.value) = "M", "0:45", IF(parseFloat(myForm.B2.value) = "F", "0:45"));
myForm.C5.value = IF(parseFloat(myForm.B2.value) = "M", "0:32", IF(parseFloat(myForm.B2.value) = "F", "0:36"));
myForm.B32.value = (Math.round((IF(parseFloat(myForm.B2.value) = "M", parseFloat(myForm.B1.value) * 0.75, IF(parseFloat(myForm.B2.value) = "F", parseFloat(myForm.B1.value) * 0.75))) * 1)) / 1;
myForm.C32.value = (Math.round((IF(parseFloat(myForm.B2.value) = "M", parseFloat(myForm.B1.value) * 1.25, IF(parseFloat(myForm.B2.value) = "F", parseFloat(myForm.B1.value) * 1.25))) * 1)) / 1;
}
</script>
<table>
<tr>
<td colspan="2"><input type="text" onChange="calcule2()" name="B1" value="100" class="info">WEIGHT<br/>
<input type="text" onChange="calcule2()" name="B2" value="F" class="info">GENDER</td>
</tr>
<tr>
<td><input type="text" onChange="calcule2()" name="B5" value=""></td>
<td><input type="text" onChange="calcule2()" name="C5" value=""></td>
</tr>
<tr>
<td><input type="text" onChange="calcule2()" name="B32" value=""></td>
<td><input type="text" onChange="calcule2()" name="C32" value=""></td>
</tr>
</table>
答案 0 :(得分:0)
onChange
是要走的路。但是:&#39; if
&#39;在js中是小写的,并且comarison运算符是&#39; ==
&#39;。 &#39; =
&#39;是赋值运算符。
尝试类似:
switch(myForm.B2.value) {
case 'F':
myForm.B32.value = // do your calculation for gender female.. etc.
...
break;
case 'M'
...
}
同样,对于性别选择,请考虑使用select
代替(免费)文字输入。
你提到的单行形式可能如下:
myForm.C5.value = myForm.B2.value == "M" ? "0:32" : "0:36";
它为C5赋值&#34; 0:32&#34;如果B2的值是&#34; M&#34;和&#34; 0:36&#34;否则。