2014-01-19 2 views
1

내가 묻는 이유는 내 페이지 중 하나에서 자바 스크립트 스크립트를 연결 한 다음 자바 스크립트 파일에서 함수를 실행하려고하면 작동하지 않기 때문입니다.스크립트를 링크하면 자동으로 실행됩니까?

스크립트 파일에서 똑같은 코드를 복사하여 태그 사이에 넣으면 기능이 정상적으로 작동하므로 이상합니다. 여기

내가 그것을 연결하는 방법입니다

여기
<script src="../scripts/login.js" type="text/javascript"></script> 

이 참조하는 방법은 다음과 같습니다

function login() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    username = encodeURICompenent(document.getElementById("username").value); 
    password = encodeURICompenent(document.getElementById("password").value); 
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","test.php",true); 
xmlhttp.send(); 
} 
: 여기
<td><button type="button" onclick="login()">log in </button></td> 

당신이 그것을보고 싶은 경우에 자바 스크립트 파일입니다
+1

../scripts/login.js에 'login.js'이 있습니까? – suspectus

+0

브라우저 콘솔을보십시오. – SLaks

+0

젠장, test.php의 링크를 변경해야합니다. – shakked

답변

0

외부 JavaScript 파일을 문서에 첨부하고 작성된 메서드 내에서 찾을 수없는 코드가 포함 된 경우 함수 선언 구문에 대해 설명합니다. 이 코드는 브라우저가 JavaScript 파일을 구문 분석 한 직후에 실행됩니다.

Ex.

function CallMe() { 
    console.log("I'm going to execute once callMe method is invoke"); 
} 

console.log("I'm going to execute once browser parses the javascript file"); 

버튼의 클릭 이벤트를 트리거/호출하는 이벤트가 없으면 사용자의 로그인 메소드가 실행되지 않습니다.

관련 문제