2012-06-13 42 views
0

我需要計算髮票的總數。此發票是使用表單,金額,數量和稅收字段創建的,這些字段的總和是使用cfinput中的綁定進行的。 我不能使所有行的總和,總和。 我嘗試了一些行動,但在解決總結表單中綁定的字段,從cfc

沒有抵達,這是一個例子代碼:

<cfform action="" method="post"> 
<cfloop from="1" to="3" index="i"> 

    Q.ta <cfinput type="text" name="quantita#i#" value="0"> 
    + 
    Importo <cfinput type="text" name="importo#i#" value="0"> 
    + 
    Tax <cfinput type="text" name="iva#i#" value="0"> 
    = 
    Totale <cfinput type="text" name="totale#i#" value="0" bind="cfc:somma.getSomma({quantita#i#},{importo#i#},{iva#i#})"> 

    <br /><br />   

</cfloop> 

CFC:

<cfcomponent> 
<cffunction name="getSomma" access="remote" returntype="string"> 

    <cfargument name="quantita" default="0"> 
    <cfargument name="importo" default="0"> 
    <cfargument name="iva" default="0"> 

    <cfset totaleSomma=#evaluate((importo*quantita)*(1+iva))#> 

    <cfreturn totaleSomma> 
</cffunction> 
</cfcomponent> 

回答

0

好,我找到了解決辦法,我使用CFDIV的總計:

<cfparam name="var_tot" default="0"> 

<cfloop from="1" to="3" index="i"> 
<cfparam name="totale#i#" default="0"> 
<cfset var_tot = listappend(var_tot, "{totale"&#i#&"}")> 
</cfloop> 



<cfform action="" method="post"> 
<table> 
<cfloop from="1" to="3" index="i"> 
<tr>  
    <td>Q.ta</td><td><cfinput type="text" name="quantita#i#" value="0"></td> 
    <td>Importo</td><td><cfinput type="text" name="importo#i#" value="0"> </td> 
    <td>Tax</td><td><cfinput type="text" name="iva#i#" value="0"> </td> 
    <td>Totale</td><td class="price"><cfinput type="text" name="totale#i#" value="0" bind="cfc:somma.getSomma({quantita#i#},{importo#i#},{iva#i#})" ></td>  
</tr> 
</cfloop> 
</table> 
</cfform> 

<cfdiv bind="url:divtot.cfm?InputText=#var_tot#" id="checktot"> 

divtot.cfm

<cfparam name="tot" default="0"> 
<cfset listval=url.InputText> 

<cfloop index="i" list="#listval#" delimiters=","> 
<cfset tot=tot+i> 
</cfloop> 


TOTALE: <cfoutput>#tot#</cfoutput> 

謝謝大家

1

我想你需要創建一個Javascript函數,如果你想循環所有這些形式feilds並獲得「總計」。我的建議是放棄cfform並使用jQuery創建一個可編輯的網格。

+1

我都贊成下降的使用jQuery驗證器。還沒回頭... –