문제

뭐?대상 속성 (XHTML 유효성 검사)을 사용하지 않고 새 창에 대한 사후 요청 (양식 데이터가 필요하지 않음)을 수행하고 싶습니다.

왜요?사용자가 인쇄 할 여러 항목을 선택하는 WebApp (jQuery 사용)이 있습니다. 각 항목 ID는 인쇄 가능한 버전의 Entires를 표시하는 처리 페이지로 보내야합니다. 사용자를 웹 앱에서 인쇄하도록 지시하고 싶지 않으며 항목 ID 수가 너무 커질 수 없기 때문에 팝업을 사용할 수 없습니다.

나는 Googled를 읽고 여러 포럼을 읽었으며 대부분의 사람들은 대상 속성을 직접적으로 제안하거나 JavaScript를 사용하여 삽입하는 것 같습니다. 나는이 두 솔루션을 피하기를 바랐다.

이것이 가능하고 그렇다면 어떻게합니까?

미리 감사합니다 :)

도움이 되었습니까?

해결책

JavaScript에서 양식 제출을 가로 채서 원하는 값으로 숨겨진 필드만으로 두 번째 양식을 채우고 대신 그 양식을 제출하십시오.

다른 팁

이것이 바로 target 속성은입니다. 새 창을 열려면 "_blank"로 설정하십시오. 마크 업이 유효하기를 원한다면 (요점은 무엇입니까? 사용자가 마크 업의 유효성에 대해 덜 신경 쓸 수 있다고 확신합니다!) JavaScript를 사용하여 페이지로드에서 대상을 설정하십시오 ...

window.onload = function() {
  document.forms[0].target = '_blank';
}

다른 방법은 없습니다.

현재 페이지의 상단을 타겟팅하고 현재 사용중인 프레임 세트에서 벗어나려면 <a href="page.htm" target="_top"> HTML에서. JavaScript에서 사용합니다.

top.location.href = 'page.htm';

현재 페이지 또는 프레임을 타겟팅하려면 사용할 수 있습니다. <a href="page.htm" target="_self"> HTML에서. JavaScript에서 사용합니다.

self.location.href = 'page.htm';

상위 프레임을 타겟팅하려면 사용할 수 있습니다 <a href="page.htm" target="_parent"> HTML에서. JavaScript에서 사용합니다.

parent.location.href = 'page.htm';

프레임 세트 내에서 특정 프레임을 타겟팅하려면 사용할 수 있습니다. <a href="page.htm" target="thatframe"> HTML에서. JavaScript에서 사용합니다.

top.frames['thatframe'].location.href = 'page.htm';

현재 페이지 내에서 특정 iframe을 타겟팅하려면 사용할 수 있습니다. <a href="page.htm" target="thatframe"> HTML에서. JavaScript에서 사용합니다.

self.frames['thatframe'].location.href = 'page.htm'; 

속성 target<form> 요소는 XHTML 1.0에서 유효합니다 과도기..

xhtml 1.1 또는 1.0 엄격한 경우 <iframe> 처음에는 유효한 태그가 아닙니다 ..

JavaScript Window.open을 사용하여 새 창을 "POP"하고 URL에서 매개 변수를 사용하여 인수를 전달할 수 있습니다. 그러나 IMO는 Transitional DocType에서 대상 속성을 사용하는 것보다 더 나쁩니다.

가장 좋은 방법은 DOM에서 즉시 생성되어 Ajax 통화에 의해 채워진 "가짜"새 창입니다. 이렇게하면 새 창을 열어 사용자 경험을 "파괴"하지 않습니다.

호출 페이지에서 새 창을 열기 전에 새 창을 열어주는 페이지에 숨겨진 필드를 설정하면 다음과 같은 열린 페이지에서 참조 할 수 있습니다.

$(function() {
    var $opener = $(window.opener.document);
    var entryIds = $opener.find("#entryIds").val();
    // do something with the ids
});  

여기서 단점은 이제 JavaScript를 통해 입력 세부 정보를 표시해야한다는 것입니다. 양식 게시물을 전혀 할 필요가 없습니다.

Frisky가 느껴지면 새 창을 열기 전에 오프너 페이지에서 세션이나 쿠키 (웹 서비스 호출을 통해)에서 항목 ID를 항상 설정하고 열린 페이지에서 세션을 잡아서 대신 서버쪽에 페이지를 인쇄합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top