Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagexml
linenumberstrue
<script type="text/javascript">

$(document).ready(function () {

    $("#resend").off("click");
    
    $("#resend").on("click", function (event) {
        console.log('enter resend');
        FormUtil.getField("status").val("resendOTP");
        $("#assignmentComplete").focus().click();
        return false;
    });

    $("#changeTo").off("click");

    $("#changeTo").on("click", function (event) {
        console.log('enter changeConfirm');
        FormUtil.getField("status").val("changeConfirm");
        $("#assignmentComplete").focus().click();
        return false;
    });
}); 

</script>

Using page_loaded event to

...

attach functions on page load/refresh

Since DX 8 Themes have the Single Page Application (SPA) treatment, some scripts that depends and load on page opened / refresh might not work as intended.

consider Consider the following script, where it is used to capture the current URL that the page is on

Code Block
languagejs
$(document).ready(function(){
	var// currentUrlYour = window.location.href;
	console.log("URL : "+currentUrl);
code here
});

On your first page visit, the console will output the intended output, which is the url of the current page that you are in.howeversince it is loading the entire page content, the code will execute normally.
However, as you navigate to other menus and pages in the app, the above code will not fire execute due to the SPA treatment and the page does not get refreshedUI menus being loaded via AJAX, hence the entire page is not reloaded and thus not calling the document.ready event

This is where the event "page_loaded" event comes in handy. you can simulate a page refresh and modify the above code to behave as if the page is reloaded like so In DX8, this custom event is fired when a UI menu has finish loading.
Your JS scripts should now look like below

Code Block
languagejs
$(document).ready(function(){
    $(document).on("page_loaded", function(){
    	var// currentUrlYour = window.location.href;
    	console.log("URL : "+currentUrl); 
    })
});code here
});