2012-04-25 6 views
1

내 button.location.href의 올바른 값으로 문제가 발생합니다. 이렇게하면 모든 페이지에서 동적으로 수행되는 작업임을 알 수 있습니다. 그래서 내가하고 싶은 것은 그들이 현재있는 현재 모듈 컨트롤러에있는 addnew 함수로 이동하는 것입니다. 예를 들어 사용자가 titles 모듈 (폴더)에 있고 제목 컨트롤러에 있다고 말하면 제목 (모듈)/제목 (컨트롤러)/addnew (메소드)로 이동하지만 이것은 단지 예일뿐입니다. 이 예제에서는 작동하지만 다른 페이지로 이동한다고 말합니다. 제목 (모듈)/제목 (컨트롤러)을 woudld로 지정한 titles 모듈 내부에서 컨트롤러를 봅니다. 동일한 버튼을 클릭하면 해당 모듈이 제목/모듈로 이동합니다. (컨트롤러)/addnew (메소드).동적 링크가 제대로 지정되지 않았습니다.

$('.addnew').append('<button>Add New</button>').css('float', 'right').css('margin', '5px 0 0 10px').css('padding-right', '10px'); 
$('.addnew button').css('width', '100px').click(function() { 
    window.location.href = 'addnew'; 
    return false; 
}); 

답변

2

이 시도 : 링크에

window.location.href = window.location.href+'addnew'; 

href를 값은 당신이하려고하는 것 같다 무엇을 기존의 URL,에 추가합니다. 그러나 Javascript를 통해 URL을 설정할 때 "addnew"는 "/ addnew"와 동일하며 "http://domain.com/addnew"와 동일합니다.

위의 방법 (URL 끝에 슬래시가있는 것으로 가정)은 addnew 함수를 현재 URL의 나머지 부분에 연결합니다.

+0

즉. 좋은 대답! 고맙습니다. –

0

나는 보통 내 머리글에 자바 스크립트에서 URL helper 함수를 사용할 수있는 스크립트를 가지고있다. 물론 도우미가로드되어 있어야합니다. 특정 jQuery를 기능에 대한

<script> 
    var base_url = <?=base_url()?> 
    var current_url = <?=current_url()?> 
</script> 

, 당신과 함께 click 이벤트를 바인딩 할 수 있습니다 : 완벽는

$('.addnew button').css('width', '100px').click(function() { 
    window.location.href = current_url + '/addnew'; /* or something similar */ 
    return false; 
}); 
관련 문제