0
양식 노드를 생성자를 통해 전달하여 양식의 유효성을 검사하려고합니다. OO를 사용하는 것이 맨 위에 약간 있지만 요청이라고 알고 있습니다. 아래 코드가 있지만 함수 (폼)의 텍스트 상자 값을 경고하려고하면 정의되지 않은 것으로 표시됩니다. 나는 명백한 실수를하고 있다고 확신하지만 누구든지 나를 도울 수 있습니까? 감사합니다양식 이름을 생성자로 전달하여 양식의 유효성을 검사하십시오.
<SCRIPT LANGUAGE="JavaScript">
function Validator(fields) {
this.fields = fields;
}
Validator.prototype.validate = function (form) {
for (var i = 0, l = this.fields.length; i < l; i++) {
alert(this.fields[i].value);
if (this.fields[i].value == 0) {
alert("The field is empty");
return false;
}
}
}
var validator = new Validator(["username", "password"]);
function runValidate(form) {
validator.validate(form);
}
</SCRIPT>
</head>
<body>
<form NAME="AbbeyRoad">
<fieldset>
<legend>Please login</legend>
<div class="form-element">
<label for="username"><span class="shortkey">U</span>sername:</label>
<input type="text" name="username" id="username" accesskey="u">
</div>
<div class="form-element">
<label for="password"><span class="shortkey">P</span>assword:</label>
<input type="password" name="password" id="password" accesskey="p">
</div>
<input type="button" name="login" value="Login" id="login" onClick="runValidate(this.form)">
</fieldset>
</form>
감사합니다 !!!!! 그게 효과가 있었어. 그건 그렇고, 코드를 보면 내가해야 할 부분이 있습니까? OO없이이 작업을 수행하는 것이 더 낫지 만 여기 프로토 타입을 사용해야하는지 궁금합니다. –
코드가 잘 작성되었으므로 여기서 프로토 타입을 사용하는 데 아무런 해가 없습니다. 내가 말하고자하는 것은 함수 자체가 객체라는 것을 기억하는 것입니다. 어떤 종류의 객체도 성능을 인스턴스화하는 데 특히 비용이 많이 들지만 작은 응용 프로그램에서는 명확성이 더 유용 할 것입니다. – Jodes
쿨 - 고맙습니다. –