2011-03-08 6 views
0

버튼을 누르면 jQuery UI의 모달 대화 상자가 나타납니다. 여기jQuery로 이메일 확인

 $('#eb1').click(function(){ 
     $('#emailPost').submit(); 
     $("#emailModal").dialog('close'); 
    }); 

    $('#eb2').click(function(){ 
     $('#emailPost2').submit(); 
     $("#emailModal").validate({ 
     rules: { 
      emailAddress: { 
       required: true, 
       email: true 
      } 
     } 
     }).showErrors({"error": "Invalid Email!"}); 
     $("#emailModal").dialog('close'); 
    }); 

이 모두 표시하는 PHP의 : 다음은 모달 대화에 관한 jQuery 코드입니다

echo "<form action='php/emailPost.php' method='POST' class='inline' id='emailPost'>"; 
echo "<input type='hidden' value='" . $_SESSION["email"] . "' name='emailAddress'>"; 
echo "<input type='button' value='Email To Me' id='eb1'/>"; 
echo "<input type='hidden' name='passedCoupID' value='" . $coupID . "'/>"; 
echo "</form>"; 
echo "<h3>Or</h3>"; 
echo "<form action='php/emailPost.php' method='POST' class='inline' id='emailPost2'>"; 
echo "<label name='error'></label>"; 
echo "<input type='text' value='Enter an Email' class='required email' name='emailAddress' style='display: inline-block;'>"; 
echo "<input type='button' value='Email' id='eb2'/>"; 
echo "<input type='hidden' name='passedCoupID' value='" . $coupID . "'/>"; 
echo "</form>"; 

나는 버튼이 잘 작동 것을 알고는, 그들은 상관없이 완벽하게 제출하지만, 후자을 제출 유효성 확인 결과의 나는 jQuery에 익숙하지 않은데, 이메일이 유효하지 않으면 유효하지 않고 제출하지 않으면 오류를 표시 할 수 있습니까?

답변

0

내게 전화하는 것처럼 보입니다. $('#emailPost2').submit(); 당신이 validate를 호출하기 전에. 확인을하기 전에 양식을 제출하지 않습니까?

jQuery 검사기 플러그인을 사용할 때 $(document).ready()에 유효성 검사 규칙을 선언했습니다. 어쩌면 버튼을 클릭하는 것과 반대로 규칙을 먼저 선언해야합니다. 모달 팝업이 동적으로 다음 생성되는 경우

폼이 생성 될 때

$("#emailPost2").live(function() {validation rules}); 

그렇게는 유효성 검사 규칙을 첨부 것을 사용할 수 있습니다.

0

사용중인이 플러그인의 유효성 검사인가요? http://jquery.bassistance.de/validate/demo/

그렇다면 올바른 방법이 아닌 것처럼 보입니다.

버튼을 type = "submit"으로 변경 한 다음 validate() 호출을 emailPost '(필요한 경우) 및'emailPost2 '(document.ready)에 연결하십시오.

$(document).ready(function(){ 
    $("#emailPost2").validate({ 
     rules: { 
      emailAddress: { 
       required: true, 
       email: true 
      } 
     } 
     }).showErrors({"error": "Invalid Email!"}); 
}); 

몇 가지 예를 보려면 해당 링크의 소스 코드를 살펴보십시오.

1
$('#eb1').click(function(){ 
    $('#emailPost').submit(); 
    $("#emailModal").dialog('close'); 
}); 

$('#eb2').click(function(){ 
    $('#emailPost2').submit(function(){ 
     var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 
     var address = $("#emailModal").val(); 
     if(reg.test(address) == false) { 
     alert('Invalid Email Address'); 
     return false; 
    } 
    else 
    { 
    return true; 
    } 
}); 

$("#emailModal").dialog('close'); 
});