2009-10-09 2 views
0

javascript로 프레임에서 내 기본 폼의 버튼을 가져올 수 없습니다. querystring을 통해 버튼의 ID를 얻었습니다. 그런 다음 스크립트를 실행하지만 버튼을 얻을 수 없습니다. getElementByID (' btnDelete '), 컨트롤을 찾았습니다. 이유가 무엇이며 어떻게이 문제를 해결할 수 있습니까?자바 스크립트에서 프레임의 부모 폼의 버튼 찾기 부모 스크립트의 프레임에서 버튼을 찾기

 function okay() { 
     var btn = getQuerystring('btn'); 
     window.parent.document.getElementByID(btn).click(); 

} 난 당신의 코드에 오타가 생각

function getQuerystring(key, default_) { 
      if (default_ == null) { 
       default_ = ""; 
      } 
      var search = unescape(location.search); 
      if (search == "") { 
       return default_; 
      } 
      search = search.substr(1); 
      var params = search.split("&"); 
      for (var i = 0; i < params.length; i++) { 
       var pairs = params[i].split("="); 
       if (pairs[0] == key) { 
        return pairs[1]; 
       } 
      } 
      return default_;  } 

답변

1

. window.parent.document.getElementById (btn) .click();이어야합니다. 소문자 "d". test.html

+0

아니요, 시각적 스튜디오 빠른보기 창에서 'btnDelete'값을 할당 할 때 얻을 수 있습니다. getElementByID를 getElementById로 변경했지만 내 문제를 해결하지 못했습니다. – Alexander

0

저장이 :

<html> 
    <body> 
     <form action="http://google.com"> 
      <input type="submit" id="thebutton" value="Click Me!"/> 
     </form> 
     <iframe src="test2.html?btn=thebutton"/> 
    </body> 
</html> 

저장이 test2.html 같이

<html> 
    <head> 
     <script> 
      function okay() { 
       var btn = getQuerystring('btn'); 
       window.parent.document.getElementById(btn).click(); 
      } 

      function getQuerystring(key, default_) { 
       if (default_ == null) { 
        default_ = ""; 
       } 
       var search = unescape(location.search); 
       if (search == "") { 
        return default_; 
       } 
       search = search.substr(1); 
       var params = search.split("&"); 
       for (var i = 0; i < params.length; i++) { 
        var pairs = params[i].split("="); 
        if (pairs[0] == key) { 
         return pairs[1]; 
        } 
       } 
       return default_; 
      } 
     </script> 
    </head> 
    <body onLoad="okay()"> 
    </body> 
</html> 

유일한 문제는 당신이에서 getElementById에서 소문자 D이 필요하다고했다.

관련 문제