Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数-如果是特定文本,则在新函数中使用定义的数字_Javascript_Forms_Acrobat - Fatal编程技术网

Javascript函数-如果是特定文本,则在新函数中使用定义的数字

Javascript函数-如果是特定文本,则在新函数中使用定义的数字,javascript,forms,acrobat,Javascript,Forms,Acrobat,我试图在acrobat中根据其他两个字段返回一个值——一个是文本,另一个是值 用户从下拉框中选择框F1中的频率,然后我需要将此文本转换为一个数字,然后乘以另一个框(X1),具体取决于在F1中选择的文本 到目前为止,我已经尝试过了,但没有达到我预期的效果。非常感谢您的帮助,我对javascript非常陌生!非常感谢 var frequency_values= new Array(); frequency_value["Monthly"]=12; frequency_value["Quarterly

我试图在acrobat中根据其他两个字段返回一个值——一个是文本,另一个是值

用户从下拉框中选择框F1中的频率,然后我需要将此文本转换为一个数字,然后乘以另一个框(X1),具体取决于在F1中选择的文本

到目前为止,我已经尝试过了,但没有达到我预期的效果。非常感谢您的帮助,我对javascript非常陌生!非常感谢

var frequency_values= new Array();
frequency_value["Monthly"]=12;
frequency_value["Quarterly"]=4;
frequency_value["Semi-annually"]=2;
frequency_value["Annually"]=1;


document.getElementById("F1").value = frequency_value;

g.value = this.getField('frequency_value');
h.value = this.getField("X1");

event.value = (h.value * g.value)/52;
试试这个:

function getField(f) {
  // not sure what getField does in your app, but i'm just defining it here and return a number for debugging in console
  return 20;
}

var frequencyValues = {
  'Monthly': 12,
  'Quarterly': 4,
  'Semi-annually': 2,
  'Annually': 1
};

// lets get the user selection form the select drop down
// var f1 = document.getElementById('F1').value;
var f1 = 'Monthly';   // for debugging in our console, lets just set it to monthly

// not sure what g and h are, but we'll just define them here
var g = {},
    h = {};

g.value = frequencyValues[f1];
h.value = this.getField('X1');

var value = (h.value * g.value) / 52;

console.log(value);
其思想是创建一个名为frequencyValues的对象,而不是数组。 当您访问它时,您可以使用obj[field]访问它

因为我没有你的代码,所以我创建了getField函数并对document.getElementById进行了注释,但我想你明白了

顺便说一句,不确定你的语言背景是什么,但试着坚持你编写Javascript的标准,即频率值而不是频率值。尽可能避免在变量和函数名中使用下划线


祝你好运。

频率值是一个数组。您需要首先从该数组中获取单个元素。是否有任何错误?在哪里定义了
frequency\u值
g
h
?请提供您的html。这就是我的全部内容。它是在Adobe Acrobat X Pro中的自定义计算脚本中实现的。F1是用户选择付款频率的下拉列表,X1是付款频率,计算的结果是每周等价物(一次乘以另一次(频率转换为数字)除以52周)。非常感谢。谢谢@Will。我没有javascript背景!我只是想在AdobeAcrobatX中获得一个PDF文件来做我想做的事情:)上面的代码不起作用,但我不知道为什么。