2016-10-13 1 views
3

버튼을 클릭하면 'currentUrl'에서 'currentUrl/somePage.html'로 내 위치가 변경됩니다.자바 스크립트로 (currenturl) /example.html onclick으로 리디렉션

코드가 하드 코딩 된 URL을 사용하지 않는 것이 중요합니다. 대신 사용자가 앉아있는 현재 URL을 가져 와서 '/somePage.html'값을 끝에 추가해야합니다.

나는 약간의보고를했는데 window.location.href가 현재 URL 위치를 반환하고 window.location이 나를 새 경로로 리디렉션한다는 것을 알았습니다. 그러나 이들을 조합하려고 시도 할 때 버튼을 클릭 할 때 "정의되지 않은"오류가 발생합니다.

내 코드는 다음과 같이 보입니다

...

HTML :

<button class="btn btn-default" onclick="redirectToPage()">Some Page</button> 

JS :

$(function() { 

    function redirectToPage() { 
     var url = window.location.href; 
     window.location(url + "/somePage.html"); 
    } 
}); 

당신은 모든 아름다운 사람입니다! 도와 주셔서 감사합니다!

답변

3

당신이 jQuery를 사용하려고하는 경우 다음 당신은 그것의 기능을 모두 사용해야합니다

(그와 나는 인라인 자바 스크립트를 추천하지 않을 것)

HTML :

<button class="btn btn-default js-do-redirect">Some Page</button> 

jQuery를 :

$(document).ready(function(){ 
    $('.js-do-redirect').on('click', function(){ 
    var url = window.location.href; 
    window.location = url + "/somePage.html"; 
    }); 
}); 

또는 당신이 그것을 다시 사용할 수 있도록하려는 경우 :

HTML :

<button class="btn btn-default js-do-redirect" data-redirect-to="/somePage.html"> 
    Some Page 
</button> 

jQuery를이 :

$(document).ready(function(){ 
    $('.js-do-redirect').on('click', function(){ 
    var url = window.location.href; 
    var page = $(this).data('redirect-to'); 
    window.location = url + page; 
    }); 
}); 

Decoupling Your HTML, CSS, and JavaScript를 읽고 추천합니다.

+0

굉장! 고맙습니다! – venuxv

0

redirectToPage은 핸들러 기능 범위 내에서만 정의됩니다. 너는 바깥으로 옮겨야 해.

0

문제가 있습니다. $(function(){}) jQuery 클로저를 제거하거나 jQuery를 사용하여 $('#someid').click() 버튼으로 onClick 이벤트를 만듭니다.

1

끝났습니다. window.location은 함수가 아니라 프로퍼티입니다.

function redirectToPage() { 
    var url = window.location.href; 
    window.location = url + "/somePage.html"; 
} 
관련 문제