클래스가 myButton
인 버튼이 여러 개 있습니다. 각 버튼에는 클릭시 서버로 전송되는 값이 있습니다. 버튼의 대상 URL이 생겼 : 나는 버튼을 클릭 한 후클릭시 목표 URL에 GET 매개 변수를 입력하십시오.
http://mysite/test/test.html?cid=15
에서, follwing을 GET 매개 변수는 URL에 추가되어야 다음 버튼을 제출해야합니다
mySessionVar=1
그래서 새로운 URL은 다음과 같아야합니다
http://mysite/test/test.html?cHash=d009eb3f9f4e1020435b96a8f7251ad5&mySessionVar=1
를 내가 주입해야 할 이유는 무엇입니까?
저는 fluid
으로 일하고 있습니다. AFAIK에서는 JavaScript로 유체 태그를 조작 할 수 없습니다. 그러나 유체 태그 arguments
속성에 sessionStorage
항목 값을 추가해야합니다.
<f:link.action controller="Download" action="download" arguments="{cid: category.uid}" class="myButton">Download</f:link.action>
그래서 내 시도가 보내 다음 버튼의 대상 URL에 GET 매개 변수로 내 sessionStorage 항목을 추가하는 것입니다, 예를 들면 :
$(".myButton").on
(
"click",
function(event)
{
//First prevent the default event
event.preventDefault();
...inject the sessionStorage item as GET parameter to the target URL of the button, then do whatever the button would do normally...
//Go to new URL
window.location.replace(NEW URL);
}
);
이인가 가능한?
편집 :
<a class="myButton" href="/de/mysite/test/test.html?tx_mydownloads_myfilelist%5Bcid%5D=15&&tx_mydownloads_myfilelist%5Baction%5D=download&tx_mydownloads_myfilelist%5Bcontroller%5D=Download&cHash=d009eb3f9f4e1020435b96a8f7150ad5">Download</a>
편집 : 내가 다른 생각을 가지고, 어쩌면 난 그냥 어떻게 든 대상 URL을 읽을 수, 다음에 나의 새로운 GET의 PARAM를 추가이 버튼의 렌더링 된 HTML이 같은 모습입니다 그 URL을 window.location.replace
으로로드 하시겠습니까? 이 링크에 아무런 이전 쿼리 문자열 존재하고 추가 할 때이 또한 사건을 처리
$('.myButton').on('click', function(e) {
e.preventDefault();
var href = $(this).attr('href'),
queryString = 'mySessionVar='+sessionStorage.getItem("myItem"),
newHref;
if (href.indexOf('?') !== -1) {
newHref = href + '&' + queryString;
} else {
newHref = href + '?' + queryString;
}
window.location.href = newHref;
});
을 :
버튼의 렌더링 된 HTML이 어떻게 보이는지 추가 할 수 있습니까? –
클릭 이벤트의 바인딩을 해제하는 이유는 무엇입니까? – WebKenth
@JohannesStadler 렌더링 된 버튼의 모습을 추가했습니다. WebKenth, 나는 먼저 기본 동작을 방지하고 다시 허용하고 싶습니다. 그렇게하지 않으면 확실하지 않습니다. – Black