2010-03-24 5 views
1

제출 한 버튼을 클릭 할 때 your changes have been saved이 표시되지만 유효성 검사가 실패해도 변경 내용이 저장되었다는 JQuery 코드에 나와 있습니다.JQuery 및 PHP 유효성 검사에 문제가 있습니까?

PHP가 유효성 검사를 수행 할 수 있도록 수정하고 PHP가 유효성 검사를 마쳤을 때 JQuery가이를 수행 할 수 있습니까?

다음은 내 Jquery 코드입니다.

$(function() { 
    $('#changes-saved').hide(); 
    $('.save-button').click(function() { 
     $.post($('#contact-form').attr('action'), $('#contact-form').serialize(), function(html) { 
      $('div.contact-info-form').html(html); 
      $('#changes-saved').hide(); 
      $('#changes-saved').html('Your changes have been saved!').fadeIn(4000).show(); 
     }); 

     $('a').click(function() { 
      $('#changes-saved').empty(); 
      $('#changes-saved').hide(); 
     }); 

     return false; // prevent normal submit 
    }); 
}); 

여기 내 PHP 코드의 일부입니다.

// Check for an email address: 
if (preg_match ('/^[\w.-][email protected][\w.-]+\.[A-Za-z]{2,6}$/', $_POST['email'])) { 
    $email = mysqli_real_escape_string($mysqli, strip_tags($_POST['email'])); 
} else { 
    echo '<p class="error">Please enter a valid email address!</p>'; 
} 
+0

수 u는 PHP 코드를 추가합니다 –

답변

1

클라이언트 측과 서버 측 (즉, JavaScript와 PHP 모두)으로 유효성을 검사해야합니다. 이것이 가능하지 않은 경우 양식을 비동기 적으로 게시하고 자바 스크립트로 서버의 응답을 구문 분석하여 변경 사항이 저장되었는지 확인합니다.

2

jquery에서 PHP 유효성 검사 패스를 확인하는 if 문을 추가 할 수 있습니다. PHP에서 은 1 \ 0 또는 true \ false와 같은 값을 반환해야합니다.

 $.post($('#contact-form').attr('action'), $('#contact-form').serialize(), function(data_pack){ 
      if(data_pack.msg ==1){ 
       # success do something .... 
          ......... 
      } 

      alert(data_pack.html); 

     }, 'json'); 

PHP 코드 등 :

제가 그 사용 JSON 예를 추가 JQuery와이 매개 변수를 확인했지만 같은 문제

JQuery와하다

if($validation_ok){ 
    $arr = array('msg'=>1,'html'=>$html); 
} 
else { 
    $arr = array('msg'=>0,'html'=>$error_msg); 
} 
echo json_encode($arr); 
exit; 
+0

내 JQuery if 문은 어떻게 생겼을까요? JQuery에 처음 익숙하다. – DuH

관련 문제