2012-10-10 2 views
0

이메일을 보낼 연락처 양식을 만들고 있지만 사람들이 실제로 데이터를 입력하고 있는지 확인하는 데 문제가 있습니다. 자세한 내용을 확인해야하지만 먼저 작동하는지 확인하십시오.) 사용자가 보내기를 클릭하면 javascript가 필드가 채워 졌는지 확인합니다. 그렇다면 서버 쪽에서 다시 확인한 다음 메시지를 보냅니다 (제대로 작동 함). 그렇지 않으면 경고를 표시하고 메시지를 보내면 안됩니다.
그러나이 자바 스크립트로 필드가 비어 있으면 오류 메시지가 표시된 다음 어쨌든 이메일을 보냅니다. 여기서 내가 뭘 잘못하고 있니?자바 스크립트 이메일 인증에 문제가 있습니다.

<script type="text/javascript"> 
       function validate() { 
        var x=document.forms['mailcontact']['name'].value; 
        var y=document.forms['mailcontact']['email'].value; 
        var z=document.forms['mailcontact']['subject'].value; 
        if (x == '' || x == null || x == ' name') { 
         alert("You need to enter a name"); 
        } 
        else if (y == '' || y == null || y == ' email') { 
         alert("You need to enter your email"); 
        } 
        else if (z == '' || z == null || z == ' subject') { 
         alert("You need to enter a subject line"); 
        } 
        else { 
         document.forms['maincontact'].submit(); 
        } 
       } 
      </script> 

      <form method="POST" action="mail.php" id="mailcontact"> 
       <input value=" name" size="25" id="contactname" type="text" name="name" onblur="if(this.value=='') this.value=' name';" onfocus="if(this.value==' name') this.value='';" /> 
       <input value=" email" size="25" id="contactemail" type="text" name="email" onblur="if(this.value=='') this.value=' email';" onfocus="if(this.value==' email') this.value='';" /> 
       <input value=" subject" size="25" id="contactsubject" type="text" name="subject" onblur="if(this.value=='') this.value=' subject';" onfocus="if(this.value==' subject') this.value='';" /> 
       <textarea name="message"> message</textarea> 
       <input onclick="validate()" value="validate_then_send" type="image" src="../images/sendbutton.png" style=" width: 200px; border: none; position: relative; left: 360px;" /> 
      </form>​ 
+0

사용'의 onclick = "반환의 validate();"당신의 전송 버튼에서 '와 당신'의 validate() 실패에 대한 성공 또는 거짓에 대한 사실'함수 반환이있다. – Jeremy

답변

0
<script type="text/javascript"> 
       function validate() { 
        var x=document.forms['mailcontact']['name'].value; 
        var y=document.forms['mailcontact']['email'].value; 
        var z=document.forms['mailcontact']['subject'].value; 
        if (x == '' || x == null || x == ' name') { 
         alert("You need to enter a name"); 
        } 
        else if (y == '' || y == null || y == ' email') { 
         alert("You need to enter your email"); 
        } 
        else if (z == '' || z == null || z == ' subject') { 
         alert("You need to enter a subject line"); 
        } 
        else { 
         document.forms['maincontact'].submit(); 
        } 
       } 
      </script> 

      <form method="POST" action="mail.php" id="mailcontact"> 
       <input value=" name" size="25" id="contactname" type="text" name="name" onblur="if(this.value=='') this.value=' name';" onfocus="if(this.value==' name') this.value='';" /> 
       <input value=" email" size="25" id="contactemail" type="text" name="email" onblur="if(this.value=='') this.value=' email';" onfocus="if(this.value==' email') this.value='';" /> 
       <input value=" subject" size="25" id="contactsubject" type="text" name="subject" onblur="if(this.value=='') this.value=' subject';" onfocus="if(this.value==' subject') this.value='';" /> 
       <textarea name="message"> message</textarea> 
       <input onclick="validate();return false;" value="validate_then_send" type="image" src="../images/sendbutton.png" style=" width: 200px; border: none; position: relative; left: 360px;" /> 
      </form>​ 
관련 문제