Title: How to avoid onchange method to run during the initial loading of form data? Post by: karogel on August 09, 2016, 08:41:02 PM Hi all!
I'm using onchange to my selected textbox to call the automatic computation. The function does well but I dont want to run the function during the initial loading of form data based on adjusted save records. Is there a way to avoid onchange to function during the initial form load? Title: Re: How to avoid onchange method to run during the initial loading of form data? Post by: stworthy on August 10, 2016, 07:14:14 PM The simple way to solve this issue is to set a flag that indicates if the form data is loaded successfully.
Code: $('#t1').textbox({ Title: Re: How to avoid onchange method to run during the initial loading of form data? Post by: karogel on August 11, 2016, 01:00:54 AM Sorry no luck! I want to use onchange only after loading the initial form data, here's my code:
<form id="fm_application" method="post" novalidate> <div> Charge 1: <input name="charge1" id="charge1" class="easyui-numberbox"></input></br> Charge 2: <input name="charge2" id="charge2" class="easyui-numberbox"></input></br> Charge 3: <input name="charge3" id="charge3" class="easyui-numberbox"></input></br> Total <input name="totalcharge" id="totalcharge" class="easyui-numberbox" readonly="true"></input></br> </div> </form> <script> function editdata(){ var row = $('#dg_application').datagrid('getSelected'); if (row){ $('#dlg_application').dialog('open').dialog('setTitle','Edit Application'); var url_loancharge = 'modules/data/get_saveloancharge.php?appstatuscode=NewApp&loanappid='+row.app_loanappid; $('#fm_application').form('load',row); $.post(url_loancharge, function(data){ var data1 = $.parseJSON(data);//parse JSON var vtotalcharge = parseFloat(data1.app_charge1)+ parseFloat(data1.app_charge2)+ parseFloat(data1.app_charge3); $('#fm_application').form('load', $.extend({},data,{ charge1:data1.charge1, charge2:data1.charge2, charge3:data1.charge3, totalcharge:vtotalcharge })) }); } } $('#charge1').numberbox({ onChange: function(){ calc_totalcharge(); } }); $('#charge2').numberbox({ onChange: function(){ calc_totalcharge(); } }); $('#charge3').numberbox({ onChange: function(){ calc_totalcharge(); } }); function calc_totalcharge(){ var vcharge1 = parseFloat($('#charge1').numberbox('getValue')) || 0; var vcharge2 = parseFloat($('#charge2').numberbox('getValue')) || 0; var vcharge3 = parseFloat($('#charge3').numberbox('getValue')) || 0; var vtotalcharge = vcharge1 + vcharge2 + vcharge3; $('#totalcharge').numberbox('setValue', vtotalcharge); } Title: Re: How to avoid onchange method to run during the initial loading of form data? Post by: stworthy on August 11, 2016, 05:39:50 AM Please try this code:
Code: var flag = false; Title: Re: How to avoid onchange method to run during the initial loading of form data? Post by: karogel on August 12, 2016, 01:22:03 AM It's working...problem solved....Thank you very much stworthy
|