0
문의 양식을 쓰는 중입니다.A 스위치 내에서 자바 스크립트 기능
머리에 두 개의 자바 스크립트 기능이 있습니다 (나중에 이동 하겠지만 다른 질문입니다).
onblur 이벤트의 첫 번째 함수 인 Validate()
이 작동하지 않습니다. onsubmit 이벤트에 대한 두 번째 함수 인 formValidate()
이 작동합니다.
HTML onblur 이벤트에서 사용하려면 javascript 함수에서 switch 문을 사용하고 싶습니다.
자바 스크립트 :
<head>
<script type="text/javascript">
function Validate()
{
// create array containing textbox elements
var input = [document.getElementById('fname'), document.getElementById('lname'), document.getElementById('email1'), document.getElementById('email12'), document.getElementById('message')];
for(var i = 0; i<input.length; i++)
// loop through each element to see if value is empty
{
if(input[i].value == '')
{
switch (ID){
case 'fname':
alert ('enter you first name');
break;
case 'lname' :
alert ('enter your last name');
break;
case 'email1':
alert ('enter your email address');
break;
case 'email2':
alert ('enter your email address');
break;
case 'message':
alert ('write your message');
break;
}
}
}
}
function formValidate()
{
// create array containing textbox elements
var inputs = [document.getElementById('fname'), document.getElementById('lname'), document.getElementById('email1'), document.getElementById('email2'), document.getElementById('message')];
var error;
for(var i = 0; i<inputs.length; i++)
// loop through each element to see if value is empty
{
if(inputs[i].value == '')
{
error = 'Please complete all fields.';
alert(error);
return false;
}
}
}
</script>
</head>
HTML은 :
<form onsubmit="return formValidate()" action="mailto:[email protected]" method="post" id="contactForm" >
<fieldset>
<dl>
<dt> First Name:</dt>
<dd>
<input class="input" type="text" name="fname" id="fname" onblur="Validate()" />
</dd>
<dt> Last Name:</dt>
<dd>
<input class="input" type="text" name="lname" id="lname" onblur="Validate()"/>
</dd>
<dt> Email Address:</dt>
<dd>
<input class="input" type="text" name="email1" id="email1" onblur="Validate()"/>
</dd>
<dt> Email Address:</dt>
<dd>
<input class="input" type="text" name="email2" id="email2" onblur="Validate()"/>
</dd>
<dt> Message:</dt>
<dd>
<textarea name="address" id="address" rows="10" cols="10" onblur="Validate()"></textarea>
</dd>
<dd>
<input type="submit" value="submit" name="submit" />
</dd>
</dl>
</fieldset>
</form>
나는 두 번째 기능을 제거 시도하지만, 차이는 없습니다. 나는 배우는 중입니다.
누구든지, 내가 뭘 잘못했는지 말해 줄 수 있습니까?
오류를 발견 할 수 있습니까? 그렇지 않은 경우 게시물을 수정하고 코드가 끊기는 부분을 표시 할 수 있습니다. ID를 참조하는 HTML 파일에 몇 가지 문제가 있습니다! –
그리고 form이 실행되지 않도록 false를 반환해야합니다. 그렇지 않으면 유효성 검사가 완전히 완료되지 않습니다 (메일은 매번 전송됩니다) –