2011-06-11 4 views
1

와 전혀 작동하지 않는 나는 다음과 같은 코드가 승리 2003 & IIS 6으로 잘 작동했다 :일부 자바 스크립트 문은 IIS 7 및 Windows 2008

javascript:window.opener.document.formConfirmation.textBoxDateFrom.value = '01/01/2011'; 

은 IIS 7 승 2008 작동하지 않습니다하지만!

내가 액세스 권한이없는 일정 DLL에서 논리가 채워지기 때문에 위의 코드를 변경할 수 없습니다. Javascript가 작동하는 것을 제한하는 IIS의 설정인지 알고 싶습니다. 그렇다면 위의 코드를 이전과 같이 작동하도록하려면 어떻게해야합니까?

는 참고로, 다음은 IIS 7에 작동하지 않습니다 IIS 7에서

document.Form1.txtAlias.value; 

그러나이 문 작품 :

document.getElementById('txtAlias').value; 

동안 IIS 6와 작업 둘! !! !! 그것에 대해 무엇입니까? 모든 도움이 나를이 시간 낭비 일부 시간을 되 찾는 데 도움이됩니다 ...

+0

Charlako, 브라우저 자체에서 IIS (HTML 및 JS를 브라우저로 푸시하는 웹 서버)를 혼란스럽게 생각합니다. 위 코드는 웹 페이지 ("브라우저")에서 실행됩니까? 또는 마치 ASP 페이지 안에 삽입 된 것처럼 서버에서 실행됩니까? 차이점을 아십니까? 어떤 브라우저를 테스트하고 있습니까? – selbie

답변

1

이것은 하드 코드 컨트롤 이름이 있기 때문에 이것은이 이름은 아마도 asp.net에 의해 동적 렌더링됩니다. 렌더링에 이름을 동적으로 변경하지 않도록 설정할 수 있기 때문에 아마 말합니다.

제어 ID를 < % = Control.ClientID %>으로 변경하거나 다른 방법을 사용하여 컨트롤 값을 가져옵니다.

예를 들면.

document.getElementById('<%=txtAlias.ClientID%>').value 

또는 코드 document.Form1.txtAlias.value;의이 부분에서

javascript:window.opener.document.<%=Form.ClientID%>.<%=textBoxDate.ClientID%>.value = '01/01/2011'; 

, 아마도 Form1 이름이 아닌 txtAlias을 변경할 수 있습니다.

  • 기타 가능한 솔루션 asp.net 버전 4를 사용하는 경우 컨트롤에 정적 ID 이름을 사용하는 것입니다.

  • 귀하의 웹 브라우저에서 당신의 페이지에 팁을 추가하십시오. | 소스 코드를보고 컨트롤이 어떻게 렌더링되는지 확인하십시오 (어떤 ID를 얻을 수 있는지).

관련 문제