This topic is locked
[SOLVED]

 CALCULATE ON FLY

10/8/2011 7:18:19 AM
PHPRunner General questions
J
jura author

Hello,
I have these fields (pic below) on my add page.
I have these code for calculate on fly fields Kolicina1 Cijena1, and so Kolicina2 Cijena2
**
// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", "."))
parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
};
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);

***
Can i SUM fileds Iznos1 + Iznos2 = UkupnoIznos. How to add this to code above.
Thanks


Thanks in advance..
PHPRunner 5,3 [size="1"]MySQL version 5.1.56[/size]

C
cgphp 10/8/2011
// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && !isNaN(ctrlIznos2.getValue()))

{

ctrlUkupnoIznos.setValue(parseFloat(ctrlIznos1.getValue() + parseFloat(ctrlIznos2.getValue())));

}

}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);
J
jura author 10/8/2011


// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && !isNaN(ctrlIznos2.getValue()))

{

ctrlUkupnoIznos.setValue(parseFloat(ctrlIznos1.getValue() + parseFloat(ctrlIznos2.getValue())));

}

}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);



**

Hello Cristian
Dont work... good.

If i have two kind of goods in invoice, etc. 1st is 10 EUR, 2nd is 20 EUR display result like 1020,00

C
cgphp 10/9/2011

This is the fixed version:

// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && !isNaN(ctrlIznos2.getValue()))

{

ctrlUkupnoIznos.setValue(parseFloat(ctrlIznos1.getValue()) + parseFloat(ctrlIznos2.getValue()));

}

}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);
J
jura author 10/9/2011



This is the fixed version:

// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && !isNaN(ctrlIznos2.getValue()))

{

ctrlUkupnoIznos.setValue(parseFloat(ctrlIznos1.getValue()) + parseFloat(ctrlIznos2.getValue()));

}

}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);



**
THANKS..

Now it's sum ok, but if i select only one description of good, it calculate value, but field UkupnoIznos is filed with Nan



C
cgphp 10/9/2011


// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && !isNaN(ctrlIznos2.getValue()))

{

ctrlUkupnoIznos.setValue(parseFloat(ctrlIznos1.getValue()) + parseFloat(ctrlIznos2.getValue()));

}

else

{

ctrlUkupnoIznos.setValue('');

}

}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);
J
jura author 10/9/2011




// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && !isNaN(ctrlIznos2.getValue()))

{

ctrlUkupnoIznos.setValue(parseFloat(ctrlIznos1.getValue()) + parseFloat(ctrlIznos2.getValue()));

}

else

{

ctrlUkupnoIznos.setValue('');

}

}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);



***same thing hapend

C
cgphp 10/9/2011
// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && ctrlIznos1.getValue() != '' && !isNaN(ctrlIznos2.getValue()) && ctrlIznos2.getValue() != '')

{

ctrlUkupnoIznos.setValue(parseFloat(ctrlIznos1.getValue()) + parseFloat(ctrlIznos2.getValue()));

}

else

{

ctrlUkupnoIznos.setValue('');

}

}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);
J
jura author 10/9/2011


// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && ctrlIznos1.getValue() != '' && !isNaN(ctrlIznos2.getValue()) && ctrlIznos2.getValue() != '')

{

ctrlUkupnoIznos.setValue(parseFloat(ctrlIznos1.getValue()) + parseFloat(ctrlIznos2.getValue()));

}

else

{

ctrlUkupnoIznos.setValue('');

}

}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);



..... same thing..... sorry dude, i can't figure out what's the problem...

C
cgphp 10/9/2011

Could you post the link to the demo. You can also send it to me as PM.

J
jura author 10/9/2011



Could you post the link to the demo. You can also send it to me as PM.


ok

C
cgphp 10/9/2011
// Javascript Document

var ctrlCijena1 = Runner.getControl(pageid, 'Cijena1');

var ctrlCijena2 = Runner.getControl(pageid, 'Cijena2');
var ctrlKolicina1 = Runner.getControl(pageid, 'Kolicina1');

var ctrlKolicina2 = Runner.getControl(pageid, 'Kolicina2');
var ctrlIznos1 = Runner.getControl(pageid, 'Iznos1');

var ctrlIznos2 = Runner.getControl(pageid, 'Iznos2');
var ctrlUkupnoIznos = Runner.getControl(pageid, 'UkupnoIznos');
function func() {

var sum = 0;

if ( ctrlCijena1.getValue()!='' && ctrlKolicina1.getValue() && !isNaN(ctrlCijena1.getValue()) && !isNaN(ctrlKolicina1.getValue()))

ctrlIznos1.setValue(parseFloat(ctrlCijena1.getValue().replace(",", ".")) * parseFloat(ctrlKolicina1.getValue().replace(",", ".")));

else

ctrlIznos1.setValue('');

if ( ctrlCijena2.getValue()!='' && ctrlKolicina2.getValue() && !isNaN(ctrlCijena2.getValue()) && !isNaN(ctrlKolicina2.getValue()))

ctrlIznos2.setValue(parseFloat(ctrlCijena2.getValue().replace(",", ".")) * parseFloat(ctrlKolicina2.getValue().replace(",", ".")));

else

ctrlIznos2.setValue('');
if(!isNaN(ctrlIznos1.getValue()) && ctrlIznos1.getValue() != '')

{

sum += parseFloat(ctrlIznos1.getValue());

}
if(!isNaN(ctrlIznos2.getValue()) && ctrlIznos2.getValue() != '')

{

sum += parseFloat(ctrlIznos2.getValue());

}



ctrlUkupnoIznos.setValue(sum);
}
ctrlCijena1.on('keyup', func);

ctrlCijena2.on('keyup', func);

ctrlKolicina1.on('keyup', func);

ctrlKolicina2.on('keyup', func);
J
jura author 10/9/2011

Thank You Cristian.

It working.