2011-07-27 9 views
0

이것은 매우 간단한 문제입니다. 나는이 일을하고 나서 뭔가를 바꿔야 만하고 지금은 효과가 없다. 빈 문자열을 검사하는 JS 코드 조각. 아래 코드는 다음과 같습니다. 이 우스꽝스럽게 간단한 코드가 무엇이 잘못되었는지 알아 내려고 20 분 동안 나를 미치게했습니다.기본 자바 스크립트 유효성 검사

<script type="text/javascript"> 
function validateForm(){ 
var email= document.getElementById('email').value; 
if (email.length==''){ 
alert("please fill out email");}} 
    </script> 

<form name="contact" method="post" action='ContactPHP.php'> 
Your Email: <input name='email' type='text' /><br /> 
<input type="button" value="submit" onClick="validateForm()"/> 
</form> 
+1

name 및 id 속성을 혼동하기 쉽습니다. 항상 두 퍼팅 습관을 만들어라 – colithium

답변

4

귀하의 자바 스크립트는 getElementById('email')으로 전화를하지만 귀하의 입력 ID는 '이메일'이 아닙니다.

id를 지정하십시오.

<input name='email' id='email' type='text' /> 
+0

고마워, 내 바보 같아. –

0

당신은 그냥 텍스트 입력 문자열을 반환하지 않습니다

2

email.lengthid='email'을 추가 ... name='email이 '하지만 이메일의 ID를 가진 요소를 찾고 있습니다. 빈 문자열과 비교하고 있습니다. email == "" 또는 email.length > 0을 사용하십시오.

또한 입력 요소는 name "이메일"이지만, id "이메일"인 요소를 찾고 있습니다. 이드 = "이메일"당신은 여기 document.getElementById를 사용하지 않으려는

0

귀하의 입력 :

다음은 전체 (수정) 조각입니다.

이 시도 :

기능 validateForm (양식) { VAR 이메일 = form.email.value을; (email.length == '') { 경고 ("이메일을 작성하십시오");} 경우} 이메일 :
0

이없는 이메일

<script type="text/javascript"> 
    function validateForm(){ 
     var email= document.getElementById('email').value; 
     if(email.value == '') { 
      alert("please fill out email"); 
     } 
    } 
</script> 

<form name="contact" method="post" action='ContactPHP.php'> 
    Your Email: <input id='email' name='email' type='text' /><br /> 
    <input type="button" value="submit" onClick="validateForm()"/> 
</form> 
0

내가 확인 너무 게으른 생각하지만 난 인상을 가질 수 유효성 검사가 실패하더라도 javascript 함수가 false를 반환하지 않기 때문에 양식이 제출됩니다.

경고 ('yadda yadda'); onclick 이벤트 핸들러를 다음으로 변경하십시오.

onclick="return validateForm();" 
관련 문제