2017-04-05 3 views
0

내 계획은 link.html 페이지 (exp : radio.html의 옵션 2 확인)에서버튼을 클릭하면 radio.html 페이지로 이동하여 옵션을 선택합니다 2 라디오.
radio.html 페이지의 버튼을 클릭하여 라디오를 확인할 수 있습니다.
그러나 link.html의 버튼을 클릭하면 radio.html 페이지를 열 때 라디오를 확인할 수 없습니다.
라디오를 확인하려면 windows.open이라는 아이디어를 얻은 다음 window.onload & document.getElementById을 사용하여 라디오를 확인하십시오.
하지만 실패했습니다. 내 생각이 틀린거야?
도와주세요, TQVM.입력 유형 라디오가 작동하지 않는 경우 새 창에서 확인 됨

<html> 
 
<body> 
 
<input type="radio" name="option" id="opt1"> \t \t 
 
<label for="opt1">Option 1</label> \t 
 
<input type="radio" name="option" id="opt2">  \t \t \t \t 
 
<label for="opt1">Option 2</label> 
 
<input type="radio" name="option" id="opt3">  \t \t \t \t 
 
<label for="opt1">Option 3</label> 
 
<input type="radio" name="option" id="opt4">  \t \t \t \t 
 
<label for="opt1">Option 4</label> 
 
<br> 
 
<br> 
 
<button onclick="check1()">Check Option 1</button> 
 
<br> 
 
<button onclick="check2()">Check Option 2</button> 
 
<br> 
 
<button onclick="check3()">Check Option 3</button> 
 
<br> 
 
<button onclick="check4()">Check Option 4</button> 
 
<br> 
 

 
<script> 
 
function check1() { 
 
    document.getElementById("opt1").checked = true; 
 
} 
 
function check2() { 
 
    document.getElementById("opt2").checked = true; 
 
} 
 
function check3() { 
 
    document.getElementById("opt3").checked = true; 
 
} 
 
function check4() { 
 
    document.getElementById("opt4").checked = true; 
 
} 
 
</script> 
 
</body> 
 
</html>
다음


가 link.html 코드 : 여기

는 radio.html 코드

<html> 
 
<body> 
 
<button onclick="opencheck2()">Check Option 2 in radio.html</button> 
 
<br> 
 
<button onclick="opencheck3()">Check Option 3 in radio.html</button> 
 
<br> 
 

 
<script> 
 
function opencheck2() { 
 
\t var mywindow = window.open("radio.html","_self"); 
 
\t mywindow.onload = function(){ 
 
\t \t document.getElementById("opt2").checked = true; \t \t \t 
 
\t } 
 
} 
 
function opencheck3() { 
 
\t var mywindow = window.open("radio.html","_self"); 
 
\t mywindow.onload = function(){ 
 
\t \t document.getElementById("opt3").checked = true; \t \t \t 
 
\t } 
 
} 
 
</script> 
 
</body> 
 
</html>

+0

당신이'mywindow.document.getElementById'를 사용하여 시도 유무 : 버튼이 지금 가진 여러 기능보다는 쳤다 할 수있는 체크 박스를 나타내는 숫자를 통과 어디도 하나 개의 함수로 감소했습니다? 나는 단지 문서가 현재 윈도우의 문서를 참조한다고 말합니다. – BenShelton

+0

나는 이미'mywindow.document.getElementById ("opt3")를 넣어 보았습니다. checked = true; \t''mywindow.onload = function()'에 있지만 여전히 얻을 수는 없습니다. – Chong

답변

0

이 작업을 수행하는 가장 간단한 방법 창에 이벤트 리스너를 추가하는 것 같습니다. 당신이 열 때 그렇게로드 될 때 코드가 트리거 될 수 있습니다. 다음은이 현재 SO 페이지를 열고 단어로 내용을 대체 할 예이기 test (코드 조각이 새 창을 열 수 없습니다 것 같은 콘솔에서이 작업을 실행해야합니다) :

여기
var mywindow = window.open(document.URL); 
mywindow.addEventListener('load', function() { 
    mywindow.document.getElementById('content').innerText = 'TEST'; 
}); 

수정 된 버전입니다 동일한 동작을 이용하는 코드의

<html> 
<body> 
<button onclick="opencheck(2)">Check Option 2 in radio.html</button> 
<br> 
<button onclick="opencheck(3)">Check Option 3 in radio.html</button> 
<br> 

<script> 
function opencheck(num) { 
    var mywindow = window.open("radio.html"); 
    mywindow.addEventListener('load', function() { 
    mywindow.document.getElementById("opt" + num).checked = true;   
    } 
} 
</script> 
</body> 
</html> 
+0

나는 시도했지만,'addEventListener'를 추가 한 후에는 radio.html을 열지 않습니다. 그러나 그것은 나에게 아이디어를 준다. 나는 그것에 대한 연구를 해보려고한다. 감사. – Chong

+0

성공은 addEventListener를 사용하지 않고 새 창이나 새 탭에서 "radio.html"을 열면 정상적으로 작동합니다. 코드는 :'var mywindow = window.open ("radio.html", "mywindow1"); mywindow.document.getElementById ("opt"+ 3) .checked = true; }'하지만 같은 창에서 열리길 바래요? – Chong

+0

설명하는 것은 리디렉션입니다. 문제는 새 페이지를로드하자마자 모든 코드 실행이 중지되므로 원하는 방식대로 수행 할 수 없다는 것입니다. 가장 간단한 방법은 URL에 쿼리 매개 변수를 전달한 다음이를 사용하여 선택 항목을 수정하는 것입니다.하지만이를 위해 일부 추가 조사가 필요할 수 있습니다. – BenShelton

관련 문제