Avatar of MJ
MJFlag for United States of America

asked on 

How to Get Application ID from Element Using JavaScript?

I'm trying to figure out , using JavaScript, how I can get the app ID (_efdapps_appId=11695 ==> I want 11695 returned) from the element below?
<div class="submit-button">
    <a class="button-details btn btn-primary btn-media" href="https://dev.financial-svcs.com/group/efd/dashboard">View Applications</a> <a class="button-details btn btn-primary btn-media" href="https://dev.financial-svcs.com/group/efd/dashboard/-/applications/apps-full-details?_efdapps_currentStage=credit-review&amp;_efdapps_lifeCycleDescription=This+application+is+being+reviewed.&amp;_efdapps_stepCode=0&amp;_efdapps_appId=11695&amp;_efdapps_programKey=25&amp;_efdapps_decisionCode=18&amp;_efdapps_lifeCycleDecision=Pending+decision&amp;_efdapps_isBeforeDealerPortalLive=false&amp;_efdapps_customerName=Test+More&amp;p_auth=UDdpSWSa">View Full Details</a> 
</div>

Open in new window

I need to support IE 11 so no Xpath.. Also no jQuery, pure JavaScript please.
Thank you!
Web DevelopmentJavaScript* HTML 5jQuery

Avatar of undefined
Last Comment
leakim971
Avatar of leakim971
leakim971
Flag of Guadeloupe image

test page : https://jsfiddle.net/wcL3sod0/ 

var link = document.evaluate("//a[contains(@href,'efdapps_appId')]", document, null, XPathResult.ANY_TYPE, null).iterateNext();
var efdapps_appId = link && link.href.match(/efdapps_appId=(\d*)/)[1];

Open in new window

Avatar of MJ
MJ
Flag of United States of America image

ASKER

Hi Leakim,
That won't work in IE 11. Xpath not supported.
Thanks!
ASKER CERTIFIED SOLUTION
Avatar of leakim971
leakim971
Flag of Guadeloupe image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
With a simple polyfill you can use the recommended URLSearchParams:
https://jsfiddle.net/mplungjan/thjme91a/ 

(function(w) { w.URLSearchParams = w.URLSearchParams || function(searchString) { let self = this; self.searchString = searchString; self.get = function(name) { let  results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(self.searchString); return results === null ? null : (decodeURI(results[1]) || 0); };}})(window)


const href = document.querySelectorAll("div.submit-button a.button-details")[1].href;
const urlParams = new URLSearchParams(href);
alert(urlParams.get("_efdapps_appId"));

Open in new window



Avatar of MJ
MJ
Flag of United States of America image

ASKER

Thank you both for your solutions!
Avatar of leakim971
leakim971
Flag of Guadeloupe image

you welcome
JavaScript
JavaScript

JavaScript is a dynamic, object-based language commonly used for client-side scripting in web browsers. Recently, server side JavaScript frameworks have also emerged. JavaScript runs on nearly every operating system and in almost every mainstream web browser.

127K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo