Passing URL with query parameters as function parameter in JavaScript -


i have url looks like

https://go.feeds4.com/merchants/?pid=1676&mid=4261

how pass function parameter. trying pass value not able in function.

does & in query paramter cause issues?

html

<a href="javascript:;"    onclick=rendernewmodal(<?php echo '"'.htmlspecialchars_decode($merchant->affiliate_link).'"'; ?>);>   <i class="fa fa-angle-right" aria-hidden="true"></i> </a> 

on view page source, can see following

<a href="javascript:;"    onclick=rendernewmodal("https://go.feeds4.com/merchants/?pid=1676&mid=4261");> 

js

function rendernewmodal(url) {   alert (url); } 

i don't see alert showing value of url. please help.

you have 2 problems:

  1. when putting data html document, have encode html not decode from html
  2. attribute values need quoting when contain characters (like quotes)

mashing strings make javascript literals error prone , messy, should avoid doing hand too.

so:

<?php     # url     $url = $merchant->affiliate_link;      # put quotes around , escape special characters js     $url_as_js_string_literal = json_encode($url);      # put in rest of js     $js_function_call = "rendernewmodal($url_as_js_string_literal);";      # escape special characters html     $html_safe_js = htmlspecialchars($js_function_call); ?> onclick="<?php echo $html_safe_js; ?>)"> 

Comments

Popular posts from this blog

python - How to insert QWidgets in the middle of a Layout? -

python - serve multiple gunicorn django instances under nginx ubuntu -

module - Prestashop displayPaymentReturn hook url -