2013-04-06 106 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