Javascript函数-如果是特定文本,则在新函数中使用定义的数字
我试图在acrobat中根据其他两个字段返回一个值——一个是文本,另一个是值 用户从下拉框中选择框F1中的频率,然后我需要将此文本转换为一个数字,然后乘以另一个框(X1),具体取决于在F1中选择的文本 到目前为止,我已经尝试过了,但没有达到我预期的效果。非常感谢您的帮助,我对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
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文件来做我想做的事情:)上面的代码不起作用,但我不知道为什么。