2012-07-10 3 views
1

저는 스크립트 태그의 scr 속성에 외부 jscript 파일을 추가하는 첫 번째 프로그램을 시도하는 초보자입니다. 검색 할 때 모든 단계를 수행했지만 필요한 방식대로 작동하지 않습니다. 누군가 이걸로 나를 도울 수 있습니까?참조 후에도 외부 Jscript 파일에 액세스 할 수 없습니까?

  1. 하나의 aspx 양식과 하나의 버튼이 내부 자바 스크립트 기능을 호출하는 버튼을 가지고 있습니다. 또한 외부 .js 파일 기능을 호출하는 하나의 버튼 onclick이 있습니다.

이 내 영문 코드

<head runat="server"> 
<script type="text/javascript" language="javascript" src="ExternalJScript.js"> 
function Myfunction() 
{ 
    document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript   function"; 
    alert("Hi Function Called from Javascript"); 
} 
</script> 
<title></title> 
</head> 

<body> 
<form id="form1" runat="server"> 
    <div> 
    <button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br /> 
    <button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button> 
    </div> 
</form> 

입니다 그리고 이것은 외부 스크립트의 스크립트 태그 사이에 내의 .js 코드

ExternalJSFileFunction() 
{ 
    alert("I m from external file"); 
} 
+0

aspx 페이지 내 자바 스크립트 기능이 정상적으로 작동합니다. 그러나 외부는 그렇지 않습니다.해당 Microsoft JScript 런타임 오류 : 개체 예상대로 제공합니다. –

답변

1

외부 JavaScript 파일의 기능이 제대로 정의되지 않았습니다.

이렇게 표시되어야합니다 (function 키워드를 추가했습니다).

function ExternalJSFileFunction() 
{ 
    alert("I m from external file"); 
} 

또한 danwellman이 대답에서 제안한 변경 사항을 적용해야합니다.

+0

thnx alex :) 나는 tht를 얻었다 –

2

이 안 코드입니다. 로 변경합니다 :

<head runat="server"> 
    <script type="text/javascript" language="javascript" src="ExternalJScript.js"></script> 
    <script type="text/javascript"> 
    function Myfunction() 
    { 
    document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript   function"; 
    alert("Hi Function Called from Javascript"); 
    } 
    </script> 
    <title></title> 
    </head> 

    <body> 
    <form id="form1" runat="server"> 
<div> 
<button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br /> 
<button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button> 
</div> 
    </form> 

또한, 언어의 속성은 더 이상 사용되지 않으며

편집

을 필요하지 않습니다

당신이 전화를하려고하는 기능은 실제로 기능 때문에하지 않기 때문입니다 function 키워드는 사용되지 않습니다. ,

다음
function ExternalJSFileFunction() 
{ 
    alert("I m from external file"); 
} 

그것은 또한

를 작동 다른 팁도있다 :이되도록 외부 파일을 변경

는 HTML5의 문서 타입을 사용하는 경우, 당신은 또한 수 너무

는 또한 기능이나 조건과 동일한 행에 여는 중괄호가 <script> 요소에 type 속성을 제거, 그렇게 :

,

하지만 : 당신은 거의 항상 단지 onclick 속성을 사용하여 성능

에 대한 닫는 </body> 태그 앞에 페이지의 마지막에 스크립트를 추가해야합니다

function ExternalJSFileFunction() 
{ 

도 권장 방법이 아니다 이벤트 처리기를 연결하는 대신 적절한 addEventListener() 메서드를 사용해야합니다. < = IE8을 지원해야하는 경우 IE의 이전 이벤트 API를 사용해야합니다. JS 라이브러리 사용. jQuery와 마찬가지로, 이런 종류의 것들로 정말 도움이 될 수 있습니다.

+0

Thnks .. danwellman 나는 UR 의견대로 했는데도 여전히 같은 오류가 발생했습니다. ( –

+0

안녕하세요, 고맙습니다 :) ^^ danwellman이 버그를 해결하는 데 도움이되었습니다. 나는 심지어 ur 주어진 팁을 구현했습니다. XHTML 1.0을 사용하여 HTML5보다 높은 것 같아요. 유형 속성을 쓰지 않는다면 경고를줍니다. –

+0

2. 다음에 중괄호 괄호를 적는다. 태그를 사용하여 코드를 작성하면 성능이 향상됩니다. –

관련 문제