2017-11-16 5 views
0

이것은 매우 구체적인 요구 사항이지만 이것이 가능한지 궁금합니다.사용자가 새 탭을 열 때 클릭 이벤트 및 href 이벤트에서 클릭 이벤트를 정의하는 방법

헤더 메뉴 "보고서 작성"이 있습니다. 나는 이것을 위해 "클릭"이벤트를 정의했다. 이 메뉴를 클릭하면 경로를 변경하지 않고 새 모달을 엽니 다. 사용자가 데이터를 입력하고 제출을 클릭하면 경로가 "/ reports"로 변경되고 데이터가 표시됩니다.

그러나이 방법의 문제점은 사용자가 새 탭에서이 링크 (헤더 메뉴 작성 보고서)를 열려고 할 때 (새 탭에서 마우스 오른쪽 버튼을 클릭하여 열면) 아무 것도 열리지 않습니다. 새 탭 일 수 있음 이것을 이해하지 못한다.

한 가지 해결책은 click을 href로 대체하는 것이므로 대신 href = "/ report"를 사용할 수 있습니다. 그러나 이렇게하면 사용자가이 링크를 클릭하자마자 경로가 "/ report"로 바뀌므로 원하지 않습니다. 사용자가 보고서를 제출할 때 경로를 변경하려고합니다.

현재 프로젝트에서 기술 제한으로 인해 ng-click/ng-href를 사용할 수 없습니다.

제 질문이 분명하기를 바랍니다. 해결책을 알고 있거나 더 많은 정보가 필요하면 알려주세요.

+0

모달의 제출 버튼을 마우스 오른쪽 버튼으로 클릭하여 새 탭을 열 것인지를 지정하십시오. –

+0

"사용자가이 링크를 열 때".. 어떤 링크? –

+0

@CharlieH 내 질문을 업데이트 .. 헤더 메뉴에서 "보고서 작성"을 의미합니다. – undefined

답변

0

모달 보고서를 제출하는 동안 아약스를 통해 사용자 제출 데이터를 보내고 세션에서도 데이터를 저장하십시오. 그런 다음 해당 데이터에서 보고서를 작성하십시오. 데이터가 세션에 있으면 새 탭에서도 보고서를 만들 수 있습니다.

+0

죄송합니다 .. 제 질문은 당신에게 명확하지 않았습니다 .. 사용자가 경로를 변경하지 않고 헤더 메뉴에서 보고서 링크를 클릭 할 때 모달을 열려고합니다. (같은 탭 또는 마우스를 사용하여 다른 탭의 링크 열기). 같은 탭에서, 잘 작동 ..하지만 새 탭에서 .. 그것은 작동하지 않습니다. – undefined

0

정확하게 이해하고 있는지 잘 모르겠습니다 만 제출 버튼에 링크 및 중첩 버튼이있는 모달 창을 대체하여이 효과를 얻을 수 있습니다. 이와 같이 :

<a href="/report" target="_parent"> 
    <button onclick="form.submit()">Submit</button> 
</a>