根据值类型(JS)获取要更改的输入字段

时间:2014-10-21 20:15:12

标签: javascript

我一直在尝试根据值类型

来更改字段

如果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>

1 个答案:

答案 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;否则。