This topic is locked
[SOLVED]

Change field value on buttons clicks

6/6/2024 12:39:22 PM
PHPRunner General questions
P
Pierre author

Hello,
Here is the problem I am facing for which I hope there is a solution...

On a ADD page, there are 3 buttons and 1 int field.
The field is initially null.
The objective is to have a different value assigned to the field depending on which button is clicked.

The "Client Before" code of each button is as following:

*** BUTTON1:
var ctrlpkgbasic = Runner.getControl(pageid, 'EventPackage');
ctrlpkgbasic.setValue( 1 );

*** BUTTON2:
var ctrlpkgLevel1 = Runner.getControl(pageid, 'EventPackage');
ctrlpkgLevel1.setValue( 2 );

*** BUTTON3:
var ctrlpkgLevel2 = Runner.getControl(pageid, 'EventPackage');
ctrlpkgLevel2.setValue( 3 );

When clicking on each button the first time it works as expected.
The issue is that additional clicks on the buttons is not setting the value again.

Any ideas?
Thanks in advance!

P
Pierre author 6/6/2024

Seems I answered my own question...

The 3 "Client Before" code are working fine.
The issue was that I was also trying to change the color of the clicked button to "btn-warning" while changing the other buttons' color to "btn-default" and since it was not done properly the set field was not working on additional clicks.

Here is the working "Client Before" code for each button:

*** BUTTON1:
var ctrlpkgbasic = Runner.getControl(pageid, 'EventPackage');
ctrlpkgbasic.setValue( 1 );

pageObj.getItemButton("b_BasicPackage").removeClass('btn btn-default').addClass('btn btn-warning');
pageObj.getItemButton("b_Level1Package").removeClass('btn btn-warning').addClass('btn btn-default');
pageObj.getItemButton("b_Level2Package").removeClass('btn btn-warning').addClass('btn btn-default');

*** BUTTON2:
var ctrlpkgLevel1 = Runner.getControl(pageid, 'EventPackage');
ctrlpkgLevel1.setValue( 2 );

pageObj.getItemButton("b_BasicPackage").removeClass('btn btn-warning').addClass('btn btn-default');
pageObj.getItemButton("b_Level1Package").removeClass('btn btn-default').addClass('btn btn-warning');
pageObj.getItemButton("b_Level2Package").removeClass('btn btn-warning').addClass('btn btn-default');

*** BUTTON3:
var ctrlpkgLevel2 = Runner.getControl(pageid, 'EventPackage');
ctrlpkgLevel2.setValue( 3 );

pageObj.getItemButton("b_BasicPackage").removeClass('btn btn-warning').addClass('btn btn-default');
pageObj.getItemButton("b_Level1Package").removeClass('btn btn-warning').addClass('btn btn-default');
pageObj.getItemButton("b_Level2Package").removeClass('btn btn-default').addClass('btn btn-warning');

Hoping it can be of any help.
BTW, I am using PHPRunner 10.91 build 41619.