首页 > 解决方案 > this.getField 值分布

问题描述

嗨,伙计们,我已经坚持了很长一段时间了。所以情况是这样的。

  1. 有4个字段
  2. 因此,例如,当用户键入代码 vv1 时,我希望它,然后 javascript 将在 3 个单独的字段中分发该代码的翻译。

我已经尝试了下面的代码,但不幸的是,无论我输入什么代码,它都只会反映最后一个值。

var x = this.getField("texta");
var b = this.getField("texta-1");
var c = this.getField("texta-2");
var d = this.getField("texta-3"); //  setting the field name

var y = x.value.toLowerCase();
y = y.replace(/\s/g, ''); // change the code value to lower case and  remove spaces.

if(y == 'vv01'||y== 'vv1'){b.value = "0 "}{c.value = "6"}{d.value = "180"};
if(y == 'vv02'||y== 'vv2'){b.value = "0 "}{c.value = "9"}{d.value = "225"};
if(y == 'vv03'||y == 'vv3' ){b.value = "0 "}{c.value = "12"}{d.value = "300"};// Translate the code to its intended vale 3 examples written here.

这意味着当用户在 "texta" 字段中键入 vv1 时,将反映在 "texta" = vv1 中的值,以及应该反映在 "texta-1" 中的值 = o "texta-2" 中的值 = 6 和 " text-3"= 180 但不幸的是,无论我输入什么代码,它都只会反映我编码的最后一个代码。

标签: javascriptpdf

解决方案


只有条件执行后的下一个块(包含在 中{...}) ,总是执行后面的块。if因此,

if(y == 'vv03'||y == 'vv3' ){b.value = "0 "}{c.value = "12"}{d.value = "300"}

意味着b.value = "0 "只有当y == 'vv03'||y == 'vv3'butc.value = "12"并且d.value = "300"无条件执行时才会执行。

如果您希望所有这三个分配仅有条件地执行,请将它们全部放入一个块中,即

if(y == 'vv03'||y == 'vv3' ){b.value = "0 "; c.value = "12"; d.value = "300"}

其他两个ifs 也是如此。


推荐阅读