Href到Onclick重定向

时间:2015-11-09 19:35:29

标签: javascript jquery html bronto

我通过社区研究这个话题,虽然我找不到答案。我正在使用Bronto的直接添加功能(试图使用它),文档并不是那么好。

总之,href链接在电子邮件列表中订阅用户。唯一的问题是此链接会打开一个新页面。当我希望用户留在同一页面上时。我虽然在点击链接时进行重定向,但我不确定这是否有效。

我试过这个:

 //Html
<a id="subscription" href="http://example.com">Subscribe</a>

 // Jquery
  $("#emailsubscribe").click(function(e){
          e.preventDefault();//this will prevent the link trying to navigate to another page

          //do the update
          var href = "http://example.com";

          //when update has finished, navigate to the other page
          window.location = "href";
   });

目标是我尝试将其设置为用户点击链接的位置,将其订阅到电子邮件列表,但会立即将其重定向回来,而无需打开另一个窗口。

3 个答案:

答案 0 :(得分:0)

您正在寻找AJAX。这允许您在不实际导航到页面的情况下发出请求。因为你正在使用jQuery

$("#emailSubscribe").click(function (e) {
  e.preventDefault();
  $.get("http://www.myurl.com", function (data) {
      //All done!
  });
});

答案 1 :(得分:0)

您有3个选项:

  1. 执行订阅用户的AJAX请求
  2. $('#emailsubscribe').on('click', function () { $.get('/email-subscribe/' + USER_ID, function () { // redirect goes here window.location = 'REDIRECT_URL'; }); });

    1. 使用iframe,当iframe加载后关闭iframe(丑陋,hacky,不推荐)

    2. 让订阅页面重定向用户。 Aka做了“你已经订阅了。在5秒内重定向......”的常见消息。您需要将重定向链接传递给订阅页面,即

      window.location ='/ subscribe / USER_ID?redirect_to = / my-redirect-page'

答案 2 :(得分:0)

您需要引用var,而不是键入另一个字符串来重定向。

//Html
<a id="subscription" href="http://example.com">Subscribe</a>

// Jquery
$("#emailsubscribe").click(function(e){
          e.preventDefault();//this will prevent the link trying to navigate to another page

          //do the update
          var href = "http://example.com";

          //when update has finished, navigate to the other page
          window.location = href; //<<<< change this.
});