我在Acrobat XI pro中创建了一个表单。我有3个单选按钮,选中后,将一个数字值填充到一个字段中......这是我正在使用的代码:
var v = this.getField("marketRadioButtons").value;
event.value = (v=="Off") ? "" : v;
这很好用,但现在我正在尝试将此字段的用户编辑限制为每个单选按钮的每个选项的默认值的最大值的40%。
我已经能够通过简单地创建3个字段来实现这一点 - 每个单选按钮一个,并使用针对实际数字的验证(即,选择单选按钮1以700美元填充文本字段1,所以:
event.rc = event.value < 980 if (!event.rc) app.alert ("..."))
但更喜欢每个单选按钮值只使用一个文本字段。
非常感谢任何帮助!
答案 0 :(得分:1)
试试这个解决方案!我按照你的意愿添加了一些新的快乐!
此计划的运作方式:
检查:
HTML:
<form id="form1" action="">
<input class='1' type="radio" onclick="display(this)" name="box" value="700"><span class="1">700</span><br>
<input class='2' type="radio" onclick="display(this)" name="box" value="1200"><span class="2">1200</span><br>
<input class='3' type="radio" onclick="display(this)" name="box" value="1500"><span class="3">1500</span>
</form><br>
<form action="">
<input type="text" id="output" value="$"/>
<button type="button" onclick="update(this)">Update</button>
</form>
的Javascript:
var checkedValue = {
'class':0,
'value':0,
}
display = function(me) {
var textbox = document.getElementById('output');
textbox.value = "$" + me.value;
checkedValue.value = Number(me.value);
checkedValue.class = me.className;
}
update = function(me) {
var price = me.form.output.value;
// if no value entered, newAmount sets to 0
var newAmount = Number(price.substring(1, price.length));
if (newAmount) {
var maxChange = Math.round(1.4 * checkedValue.value);
if (newAmount <= maxChange) {
document.getElementsByClassName(checkedValue.class)[1].innerHTML = newAmount;
} else {
alert('Too high!');
}
}
}