Lewey Jimoya
Lewey Jimoya

Reputation: 19

Dynamically generated href won't show properly

So I'm trying to make this link appear on my page, but it won't return the /register path, it'll just go immediately the UTMs.... On the site it'll show the href as

domain.com/?utm_campaign...

instead of

domain.com/register?utm_campaign... 

Why is that and how can that be fixed?

<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
// get the required parameter
const campaign = urlParams.get('utm_campaign');
const source = urlParams.get('utm_source');
const medium = urlParams.get('utm_medium');

var registerationURL = new URL('../register?utm_campaign=&utm_source=&utm_medium=');
registerationURL.searchParams.set('utm_campaign', campaign);
registerationURL.searchParams.set('utm_source', source);
registerationURL.searchParams.set('utm_medium', medium);

var a = document.getElementbyID('test').innerHTML;
a.href = registerationURL;

</script>

<a id="test" href="#">Click here</a>

Upvotes: 0

Views: 36

Answers (1)

Jeppe Hasseriis
Jeppe Hasseriis

Reputation: 310

document.getElementbyID('test').innerHTML returns the string "Click here". Remove the .innerHTML and it should work.

However, this can be done much simpler with the following

var registrationUrl = location.origin + '/register' + location.search;

Upvotes: 2

Related Questions