2015-01-26 3 views
0

Я не могу разобраться, где я ошибаюсь, со следующим кодом: Мой полный URL это http://localhost:4244/Invoice/PayInvoice?invoicenumber=7069 но вар URL = window.location.href, только возвращает http://localhost:4244/

<a Class="btn btn-success btn-sm confirm" href="/Invoice/PayInvoice?invoicenumber=7069">Pay Invoice</a> 

Можно ли определить, что я делаю неправильно

<script> 
    $(document).ready(function() { 
     $(".confirm").click(function (e) { 
      var url = window.location.href;  // Returns full URL 
      alert(url); 
      $("#displayPopUp").show(); 

      e.preventDefault(); 

      $(".yesupdate").click(function() { 
       $("#displayPopUp").hide(); 

       window.location = url; 
       //$(location).attr('href'); 
      }); 
      //if (AcceptPayment()) { 
      // // then redirect to original location 
      // window.location = this.href; 
      //} 
      //else { 
      // alert("Couldn't do my thing first"); 
      //} 
      //var result = window.confirm("You are about to mark invoice as paid, are you sure?"); 
      //if (result == false) { 
      // e.preventDefault(); 
      //} 
     }); 
    }); 
</script> 

То, что я пытаюсь сделать, это передать значение url to window.location = url; при нажатии .yesupdate

ответ

3

Если вы пытаетесь перейти к href из <a> элемента, щелкнул, вы можете получить этот адрес в .click() обработчика с помощью:

var url = this.href; 

Строки в вашем фрагменте кода просто назначить текущий location назад для себя, который просто перезагрузит страницу.

var url = window.location.href; 
window.location = url; 

Вам также может понадобиться, чтобы удалить предыдущие click обработчики из $(".yesupdate") избежать их укладки от нескольких .confirm s.

Вы можете использовать namespaces для ориентации определенных обработчиков.

$('.yesupdate').off('.confirm').on('click.confirm', function (e) { 
    // ... 
}); 
+0

Hi @Jonathan Lonowski благодарит, что работает –

0

Нельзя назначать window.location, это a read-only instance of a Location object. В зависимости от вашего браузера это может работать или не работать или бросать.

Вместо этого вы должны позвонить window.location.assign(url) с URL-адресом, на который вы хотите перейти. Вы можете использовать полный URL-адрес с строкой запроса и другими частями.

Смежные вопросы