简体   繁体   中英

Jquery - How to redirect to previous page and add attribute href in url after click on link?

I have a problem with my code. I am trying to redirect to previous page and add attribute href from this link and add to url. My code doesn't work for some reason. If I try to put an alert instead of window.location then the alert doesn't display anything. What is wrong with my code? Thank you very much.

JQuery:

$('#languages li a').click(function(){
      window.location = document.referrer+$(this).attr('href');
      return false;
});

HTML

<div id="languages" data-role="collapsible"> 
        <h4>English</h4>
        <ul data-role="listview" data-inset="true">
        <li><a href="?lang=en">English</a></li>
        <li><a href="?lang=cs">Česky</a></li>
        <li><a href="?lang=de">Deutsch</a></li>
        <li><a href="?lang=ae">English US</a></li>
        <li><a href="?lang=es">Español</a></li>
        <li><a href="?lang=fr">Français</a></li>
        <li><a href="?lang=nl">Nederlands</a></li>
        <li><a href="?lang=tr">Türkçe</a></li>
        <li><a href="?lang=cn">中文</a></li>
    </ul>
</div>

Look the solution here : http://jsfiddle.net/dzBHA/3/

Html Code :

<div id="languages" data-role="collapsible"> 
        <h4>English</h4>
        <ul data-role="listview" data-inset="true">
        <li><a href="?lang=en" >English</a></li>
        <li><a href="?lang=cs" >Česky</a></li>
        <li><a href="?lang=de" >Deutsch</a></li>
        <li><a href="?lang=ae" >English US</a></li>
        <li><a href="?lang=es" >Español</a></li>
        <li><a href="?lang=fr" >Français</a></li>
        <li><a href="?lang=nl" >Nederlands</a></li>
        <li><a href="?lang=tr" >Türkçe</a></li>
        <li><a href="?lang=cn" >中文</a></li>
    </ul>
</div>

And JS (You have to add Location Attribute) :

$('#languages li a').on('click', function(){
  //window.location = document.referrer
  alert($(this).attr('href'));
  alert(document.referrer);
  var link =   document.referrer + '' + $(this).attr('href');
  alert(link);
  return false;
});

Full Code Page :

 <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <title>Titre</title>
    </head>

    <body>
        <a href="http://yoururl/js.html">Test Referer</a>
        <div id="languages" data-role="collapsible"> 
        <h4>English</h4>
        <ul data-role="listview" data-inset="true">
            <li><a href="?lang=en" >English</a></li>
            <li><a href="?lang=cs" >Cesky</a></li>
            <li><a href="?lang=de" >Deutsch</a></li>
            <li><a href="?lang=ae" >English US</a></li>
            <li><a href="?lang=es" >Español</a></li>
            <li><a href="?lang=fr" >Français</a></li>
            <li><a href="?lang=nl" >Nederlands</a></li>
            <li><a href="?lang=tr" >Türkçe</a></li>
            <li><a href="?lang=cn" >??</a></li>
        </ul>
</div>
<script>
$('#languages li a').on('click', function(){
  //window.location = document.referrer
  alert($(this).attr('href'));
  alert(document.referrer);
  var link =   document.referrer + '' + $(this).attr('href');
  alert(link);
  return false;
});
</script>

    </body>
</html>

Edit the url and click on "Test Referer". See the result...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM