2014-01-13 82 views
0

我在Acrobat XI專業版中創建了一個表單。我有3個單選按鈕,如果選擇了該項,填充一個數字值轉換成場......這裏是我使用此代碼:根據字段值的百分比驗證字段輸入

var v = this.getField("marketRadioButtons").value; 
event.value = (v=="Off") ? "" : v; 

這工作得很好,但我現在想限制該字段的用戶編輯爲每個單選按鈕選擇的默認值的最大值的40%。

我已經能夠通過簡單地創建3場做到這一點 - 每個單選按鈕,並使用驗證針對實際數量(即選擇單選按鈕1填充文本字段1以$ 700這樣:

event.rc = event.value < 980 if (!event.rc) app.alert ("...")) 

,但更喜歡使用只有一個文本字段,每個單選按鈕值。

任何幫助,不勝感激!

回答

1

嘗試這種解決方案!我增加了一些新的幸福,做如你所願!

方式這個程序的工作原理:

  1. 你點擊一個複選框。
  2. 您輸入該號碼的新值。
  3. 您點擊更新。
  4. 它通過複選框更新數字。

檢查:

  • 如果輸入的數字超過1.4 *電流值,警報會觸發和值將不會被更新。
  • 如果沒有輸入號碼,則不會發生任何事情。

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!'); 
     } 
    } 
} 

jsFiddle

+0

嘿,我很欣賞這個建議。這比我上面使用的更簡單。因此,一旦用戶選擇單選按鈕,值將出現在文本框中,但我允許用戶根據需要編輯值。但是我想把增加到他們的編輯上限爲原始字段值的40%。所以他們選擇單選按鈕#1,顯示700美元,他們現在可以增加價值高達980美元,但任何超過980美元的價值導致應用程序警報與消息...預先感謝如果代碼存在。不確定是否需要jquery? – user3191987

+0

太棒了,這很有道理!我會嘗試'呃出來!那麼,普通的javascript是可行的,請試試吧! –

+0

嘗試一下!我更新了代碼,以便您只能更新每個數字比原始值高40%。 –