EasyUI Forum
April 30, 2024, 01:54:41 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: How to avoid onchange method to run during the initial loading of form data?  (Read 7355 times)
karogel
Newbie
*
Posts: 28


View Profile
« 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?
Logged
stworthy
Administrator
Hero Member
*****
Posts: 3581


View Profile Email
« Reply #1 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({
onChange: function(value){
if (flag){
//...
}
}
});
Logged
karogel
Newbie
*
Posts: 28


View Profile
« Reply #2 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);
      }
      




Logged
stworthy
Administrator
Hero Member
*****
Posts: 3581


View Profile Email
« Reply #3 on: August 11, 2016, 05:39:50 AM »

Please try this code:
Code:
var flag = false;
$(function(){
$('#fm_application').form({
onLoadSuccess:function(){
flag = true;
}
});
});
function calc_totalcharge(){
if (!flag){return;}
//...
}
Logged
karogel
Newbie
*
Posts: 28


View Profile
« Reply #4 on: August 12, 2016, 01:22:03 AM »

It's working...problem solved....Thank you very much stworthy
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!