2013-04-06 36 views
2

我有一个登录表单(它打开一个jQuery的弹出窗口),成功登录后重定向到上一页。复制点击链接网址以形成输入

我想与被点击链接URL的值这个登录表单中填入一个隐藏重定向输入,即:

<script type="text/javascript"> 
$(function() { 

    $("a.login").click(function() { 

     if($(this).hasClass("selected")) { 
      deselect();    
     } else { 
      $(this).addClass("selected"); 
      $(".pop").slideFadeToggle(function() { 
       $("#email").focus(); 
      }); 
     } 
     return false; 
    }); 


    $(".close").live('click', function() { 
     deselect(); 
     return false; 
    }); 
}); 

$.fn.slideFadeToggle = function(easing, callback) { 
    return this.animate({ opacity: 'toggle', height: 'toggle' }, "fast", easing, callback); 
}; 
</script> 

<form> 
<input type="hidden" name="redirect_url" value="clicked_link_url" /> 
</form> 

<a href="clicked_link_url_1" class="login">Link 1</a> 
<a href="clicked_link_url_2" class="login">Llink 2</a> 
<a href="clicked_link_url_3" class="login">link 3</a> 

因此,如果用户点击链接3,在弹出的形式打开,它是隐藏重定向网址值将为“clicked_link_url3”。

在此先感谢。

回答

2
$("a.login").click(function() { 

    if ($(this).hasClass("selected")) { 
     deselect(); 
    } else { 
     $(this).addClass("selected"); 
     $(".pop").slideFadeToggle(function() { 
      $("#email").focus(); 
     }); 
    } 

    // Set the input value 
    $('input[name="redirect_url"]').val($(this).attr('href')); 

    return false; 
}); 
+0

谢谢,但没有为我工作,添加您的完整答案重定向回到上一页作为默认行为,并删除e.preventDefault();让我在现有的页面上。编辑原始问题以提供完整的.js代码 – user2252032 2013-04-06 12:15:36

+0

更新了代码。尝试一次。只需对现有代码进行一些修改即可... – 2013-04-06 12:25:48

+1

已修复!谢谢@ Will.i.am,在你提供的代码中有一个遗漏的结束],现在这个工作非常完美,非常感谢!如果您将缺少的]添加到您的代码中,我会将答案标记为正确。再次感谢 – user2252032 2013-04-06 12:26:33