Run JavaScript on your PeopleSoft pages conditionally

5.4K 0 0
                                    

Run JavaScript on your PeopleSoft pages conditionally

Here, PeopleCode sets the logic that determines when the JavaScript code will run.

This is not as simple as dropping a HTML Area on your page and setting the script in PeopleCode. This is because the value in the HTML Area field remains and the JavaScript code will keep executing at subsequent page refreshes.

Steps:

Lets have a derived/work record TEST_WRK And field HTMLAREA (TEST_WRK – HTMLAREA).

1. Create a HTML definition as your javascript template. Include all the necessary user-defined javascript functions that you need. Eg Html Definition is TESTJS

<input/>

<script>

function addLoadEvent(func) {

  var oldonload = window.onload;

  if (typeof window.onload != 'function') {

   window.onload = func;

  } else {

   window.onload = function() {

     oldonload();

     func();

   }

  }

}

function user_function1() {

  window.open("","toolbar = no");

}

function user_function2() {

  alert('Hello from user javascript');

}

addLoadEvent(function() {

  %bind(:1)

});

</script>

2. At the scroll level 0 of your PS page, insert a HTML Area control. Assign this to the TEST_WRK.HTMLAREA field.

3. Again at scroll level 0 of your page, insert an editbox and assign this again to TEST_WRK.HTMLAREA. And Set the Following Field Property

a. On the Use tab, check Invisible and Modifiable by JavaScript.

b. On the General tab, set Page Field Name to USERJSINJECTION.

4. Now in PeopleCode, to execute your javascript function.

GetLevel0()(1).TEST_WRK.HTMLAREA.Value = GetHTMLText(HTML.TESTJS, "user_function1()");

Thanks to http://xtrahot.chili-mango.net/.

PeopleCodeWhere stories live. Discover now