2014-10-19 3 views
0

"onfocus"특성을 사용하여 내 HTML에서 내 .js 파일의 함수에 액세스 할 수 있지만 작동하지 않습니다. 나는 HTML 안에 JS를 써야하는 것을 싫어한다. 나중에 HTML을 읽고 디버깅하기가 더 복잡하다.어떻게 외부 js 파일에서 읽으려면 onfocus 얻을합니까

그래서 여기는 "JMLessons.html"에서 HTML 코드입니다 :

*<input type="text" required="required" id="pFirstName" name="pFirstName1" placeholder="Required" maxlength=35 minlength=1 onfocusout="pFN1()"></input> 

그래서 "JMLessons/JMLessons.js"

에 내가 "pFN1()"를 호출하기 위해 노력하고있어 기능입니다 최대한 빨리 복사 및 붙여 넣기 기능을 HTML로에 개폐 태그 ""적절한 사이가 작동하는 브라우저에서 실행하면

<script type="text/javascript" src="JMLessons/JMLessons.js"></script> 

:하지만,

나는 HTML 헤드 섹션에서이 코드를 내가 드리는대로 브라우저에서 해당 파일을 찾아서 JS 파일에서 가져 오려고하면 파일이 손상됩니다. 심지어 필자가 잘못 작성했을 수도 있으므로 JS에 함수를 복사하여 붙여 넣기까지했다. 그렇다면 ".html"에서 onfocus를 사용하고 별도의 ".js"파일에서 함수에 액세스하는 방법이 있습니까?

여기 참조를 위해 JS 기능입니다 :

function pFN1() 
{ 
    var p1n1 = document.getElementById("pFirstName"); 
     if (p1n1.value.length === 0 || p1n1.value === " ") 
      { 
       document.getElementById("pFirstName").className="wrongReq"; 
       return false; 
      } 
     if (/\d/.test(p1n1.value)) 
      { 
       document.getElementById("pFirstName").className="warningReq"; 
       return false; 
      } 
     else 
      { 
       document.getElementById("pFirstName").className="goodReq"; 
       return true; 
      }             
} 

그것은 그/그녀가 제대로 입력하면 사용자가 알 수 있도록 특별한 조건에 따라 텍스트 필드의 테두리 색상을 변경합니다.

+0

같은 폴더에있는 JMLessons 폴더가 JMLessons.html입니까? – scartag

+0

'JMLessons.js' 함수'pFN1()'이'window.onload()'또는'$ (document) .ready()'또는 다른 것에 싸여 있습니까? –

+0

scartag- 예, 그렇습니다. Martin Ernst : 아닙니다. 두 가지에 대해 자세히 설명해 주시겠습니까? 그들은 새로운 것이므로 문자 그대로 웹 사이트를 만들기 시작했습니다. 그리고 나는 조끼와 수영을 할 수 없기 때문에 깊은 곳에서 다이빙하기로 마음 먹었습니다. 나는 자신의 이메일에 글을 올리고 텍스트를 보내고 대기중인 캘린더에 글을 올리는 형식이 필요한 야구를 가르치고있는 계단 아빠를위한 웹 사이트를 만들고 있는데, 그가 원하는대로 일정을 조정 한 다음 텍스트/이메일을 보냅니다. 강의 알림을 원하는 사람에게는 문자 그대로 경험이없는 사람을위한 매우 쉬운 첫 번째 웹 사이트입니다. – RCCRF

답변

0

모두가 js 파일을로드 할 때 달라집니다.

<script type="text/javascript" src="JMLessons/JMLessons.js"></script><head> 태그에 넣으십시오. 작동하지 않는 경우 html 페이지 하단에 동일한 코드를 입력하십시오.

+0

OP의 질문 : '이 코드는 HTML 헤드 섹션에 있습니다.'를 참조하십시오. 그리고 코드를 bottomout에 놓으면'pFN1 is not defined'라는 에러가 발생합니다. –

+0

그러면 올바른 일은 전체 페이지가로드 된 후 js 파일을로드하는 것입니다. – Roysh

+0

아니요, 호출하기 전에 입력 태그가 구문 분석되기 전에 'pFN1'함수를 정의해야합니다. –

관련 문제