사용자 입력 유효성 검사가 수행 중입니다. 지금은 이름이 적어도 6 자 이상인지 확인하기 위해 이름 확인 만하고 있습니다. 더 많은 유효성 검사를 추가 할 것이지만이 경우에도 오류를 표시 할 수는 없습니다. 스크립트가 HTML 페이지에 있으면 작동하지만 외부에 추가해야 할 항목이 많기 때문에 외부에서 원합니다.외부 JS를 사용하여 숨겨진 정보 표시
HTML 페이지의 js 태그 사이에 js가있을 때 작동합니다 : 6 자 미만인 경우 CSS "txtNameError"로 숨김을 표시합니다.
extrernal .js 파일에 js가있을 때 작동하지 않습니다. 6 자 미만인 경우에는 표시가 변경되지 않습니다.
그러나 코드는 동일합니까? 내 기능이 아래에 태그가 있다면 그것은 작동,
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Registration Form</title>
<link type="text/css" rel="stylesheet" href="week12.css" />
<script type="text/javascript" src="validate.js"></script>
</head>
<body>
<div class="form">
<table>
<tr>
<td><input type="text" name="txtName" id="txtName" placeholder="Name" /></td>
<td><p class="error" id="txtNameError">Name must be at least 6 characters long.</p></td>
<!--The p class "error" is set to hidden visibility using the CSS page. If they don't meet the requirements, then "txtNameError" becomes visible.-->
</tr>
<!--OTHER USER INPUT, THAT I'M NOT YET INCLUDING (just working on the name part now)-->
<tr>
<td><button onclick="validateForm();">Register</button></td>
</tr>
</table>
</div>
</body>
</html>
:
는 여기에 "이름 부분"에 대한 기본 HTML이다가 txtNameError를 볼 수 있습니다. 하지만 validate.js에 함수를 추가하면 전혀 작동하지 않습니다. 나는 HTML 페이지에있을 때 그것이 자신의 validate.js에 때
<script>
function validateForm() {
var name = document.getElementById('txtName').value;
var nameLength = name.length;
if (nameLength < 6) {
document.getElementById("txtNameError").style.visibility = "visible";
}
}
</script>
, 나는, 태그를 포함, 나는 스크립트 태그를 포함하지 않습니다.
디버깅 할 때 함수가 전혀 호출되지 않습니까? 자바 스크립트 콘솔에 오류가 있습니까? 디버거에서 코드를 실행하면 어디에서 구체적으로 실패합니까? 요소가 발견 되었습니까? 그들의 속성이 설정되어 있습니까? – David
'fucntion validateForm()'은 단지 오타가 되었습니까? 아니면 실제로 코드가 그것을 말하고 있습니까? –
메모장 ++를 사용하고 있습니다. 하지만 javascriptlint.com에서 코드를 확인하려고 시도했지만 오류가 발생하지 않습니다. – adecker0033