2013-04-09 75 views
0

我有一個簡單的表單。我想用我簡單的公式計算隱藏字段的值(分割率從下拉開始減少100,然後將它與文本字段的估計工資相乘)。onSubmit無法在任何瀏覽器中工作

但是,對於某些奇怪的原因,onSubmit不起作用。形式我想在表單提交,但它沒有被稱爲在任何瀏覽器來計算上述值這是非常奇怪的問題

這裏是代碼:。

<script type="text/javascript"> 
function calc1() 
{ 
var a= document.getElementById('inf_custom_FLRaterClassCode0').value; 
    var b = document.getElementById('inf_custom_FLRaterEstimatedPayroll').value; 
document.getElementById('inf_custom_EstimatedQuote').value=parseFloat(a)/100 * parseFloat(b) ; 


} 

</script> 

<form accept-charset="UTF-8" action="https://kg933.infusionsoft.com/app/form/process/968a6b704587136af8684f30cc8c5cf4" class="infusion-form" method="GET" onSubmit="calc1();"> 
    <input name="inf_form_xid" type="hidden" value="968a6b704587136af8684f30cc8c5cf4" /> 
    <input name="inf_form_name" type="hidden" value="Full Quote - Florida Rate" /> 
    <input name="infusionsoft_version" type="hidden" value="1.28.7.21" /> 
    <div class="infusion-field"> 
     <label for="inf_field_FirstName">First Name *</label> 
     <input class="infusion-field-input-container" id="inf_field_FirstName" name="inf_field_FirstName" type="text" /> 
    </div> 
    <div class="infusion-field"> 
     <label for="inf_field_LastName">Last Name *</label> 
     <input class="infusion-field-input-container" id="inf_field_LastName" name="inf_field_LastName" type="text" /> 
    </div> 
    <div class="infusion-field"> 
     <label for="inf_field_Company">Company *</label> 
     <input class="infusion-field-input-container" id="inf_field_Company" name="inf_field_Company" type="text" /> 
    </div> 
    <div class="infusion-field"> 
     <label for="inf_field_Email">Email *</label> 
     <input class="infusion-field-input-container" id="inf_field_Email" name="inf_field_Email" type="text" /> 
    </div> 
    <div class="infusion-field"> 
     <label for="inf_field_Phone1">Phone 1 *</label> 
     <input class="infusion-field-input-container" id="inf_field_Phone1" name="inf_field_Phone1" type="text" /> 
    </div> 
    <div class="infusion-field"> 
     <label for="inf_custom_FLRaterClassCode0">FL Rater - Class Code #2 *</label> 
     <select id="inf_custom_FLRaterClassCode0" name="inf_custom_FLRaterClassCode0"><option value="">Please select one</option><option value="9519">9519</option><option value="5473">5473</option><option value="5472">5472</option><option value="9516">9516</option><option value="8393">8393</option><option value="8380">8380</option><option value="5188">5188</option></select> 
    </div> 
    <div class="infusion-field"> 
     <label for="inf_custom_FLRaterEstimatedPayroll">FL Rater - Estimated Payroll *</label> 
     <input class="infusion-field-input-container" id="inf_custom_FLRaterEstimatedPayroll" name="inf_custom_FLRaterEstimatedPayroll" type="text" /> 
    </div> 
    <input name="inf_custom_EstimatedQuote" type="hidden" value="" /> 
    <div class="infusion-submit"> 
     <input type="submit" value="Submit" /> 
    </div> 
</form> 

回答

2

問題是你試圖通過id訪問一個元素,但應該按名稱來完成。

更換

document.getElementById('inf_custom_EstimatedQuote').value=parseFloat(a)/100 * parseFloat(b) ; 

document.getElementsByName('inf_custom_EstimatedQuote')[0].value=parseFloat(a)/100 * parseFloat(b) ; 

或給一個ID,您需要在發送表格前改變輸入。

+0

完美的作品。不知道我是如何錯過這樣一個愚蠢的錯誤。 – 2013-04-09 18:11:12

1

它「的onsubmit」不「onSubmit」

event_form_onsubmit

+3

我認爲它被指定爲屬性並不重要。 – 2013-04-09 17:58:48

+1

即使用小版本替換它也沒關係,只是檢查不起作用。 – 2013-04-09 18:00:20

+0

你是對的。抱歉。 – 2013-04-09 18:03:55

0

calc1()在提交表單之前運行。但是,當您提交表單時,您將重新加載頁面(至「https://kg933.infusionsoft.com/app/form/process/968a6b704587136af8684f30cc8c5cf4」),因此您將無法看到計算結果,因爲打開了新的網頁。

+0

但它仍然計算的值必須與表單一起提交,必須通過$ _POST或$ _GET存在,但值不會被更改。另外如果我用警報(「你好」)替換代碼;它沒有顯示警告框意味着該功能沒有被調用? – 2013-04-09 18:05:44

相關問題