2012-06-21 3 views
-2

버튼을 클릭해도 아무런 변화가 없습니다. 유효성 검사 코드를 꺼내면 버튼을 클릭하면 다시 구현되어 PHP 유효성 검사로 돌아갑니다. jquery 유효성 검사를 먼저 코딩하고 작동했다면 PHP 측을 코딩했습니다. 하지만 PHP 측이 괜찮 으면 jquery 유효성 검사가 작동을 멈췄습니다.jquery 검증, 제출 버튼이 PHP에서 작동하지 않습니다

누군가 도움을 줄 수 있습니까?

는이 같은

submitHandler: function(form) { 
    form.submit(); 
} 

추가하는 시도 :

submitHandler: function(form) { 
    form.submit(); 
}, 
rules: { 
    ... 
} 

을하지만 아무 일도하지 않습니다.

여기에 관련 코드가 있습니다. 불분명 한 점이 있으면 알려주세요. 감사합니다. 나는 잠시 동안 이것에 붙어 있었다.

if (isset($_POST['submit'])) 
{ 
    foreach($_POST as $key=>$value) 
    { 
     unset($_SESSION[$key]); 
     $_SESSION[$key] = $value; 
    } 
    $errors = validation($job); 
    if (count($errors) == 0) 
    { 
     sendEmail($job); 
     sendEmailToApplicant($job); 
    } 
} 

$output = " 
<script src='http://code.jquery.com/jquery-latest.js'></script> 
<script type='text/javascript' src='http://jzaefferer.github.com/jquery-validation/jquery.validate.js'></script> 
<script type='text/javascript'> 
jQuery.validator.setDefaults({ 
    debug: true, 
    success: 'valid' 
}); 
jQuery.validator.addMethod('phoneUS', function(phone_number, element) { 
    phone_number = phone_number.replace(/\s+/g, ''); 
    return this.optional(element) || phone_number.length > 9 && 
     phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/); 
}, 'Please specify a valid phone number'); 
</script> 
<script> 
    $(document).ready(function(){ 
     $('#applicationForm').validate({ 
      rules: { 
       firstName: { 
        required: true, 
        rangelength: [2, 15] 
       }, 
       lastName: { 
        required: true, 
        rangelength: [2, 15] 
       }, 
       email: { 
        required: true, 
        email: true 
       }, 
       phone: { 
        required: true, 
        phoneUS: true 
       }, 
       website: { 
        url: true 
       } 
      } 
     }); 
    }); 
</script> 


<form id='applicationForm' name='applicationForm' method='post' enctype='multipart/form-data'> 

      ... 

    <input id='submit' type='submit' name='submit' /> 
</form>"; 
+0

아, 내가 왜을 downvoted 무엇입니까? –

답변

1

정말 빠르게 시도하십시오. 이 문제는 정말 가까와 보이지 않았기 때문에 확실하지 않지만 jQuery는 왜 존재 하는가? jquery.noConflict가없는 경우 일부 액션에서

이 어쩌면 같은 단지 $에 그 변경 시도 :

<script> 
$(document).ready(function(){ 
    $('#applicationForm').validate({ 
     rules: { 
      firstName: { 
       required: true, 
       rangelength: [2, 15] 
      }, 
      lastName: { 
       required: true, 
       rangelength: [2, 15] 
      }, 
      email: { 
       required: true, 
       email: true 
      }, 
      phone: { 
       required: true, 
       phoneUS: true 
      }, 
      website: { 
       url: true 
      } 
     } 
    }); 

    $.validator.setDefaults({ 
     debug: true, 
     success: 'valid' 
    }); 
    $.validator.addMethod('phoneUS', function(phone_number, element) { 
     phone_number = phone_number.replace(/\s+/g, ''); 
     return this.optional(element) || phone_number.length > 9 && 
      phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/); 
    }, 'Please specify a valid phone number'); 
}); 

+0

감사합니다. 나는 내가 그 자신을 깨달았을 것이라고 생각하지 않는다. –

0

후 다음 코드를 사용하여 수행 하였는지 확인 :

if($_SERVER['REQUEST_METHOD'] == 'POST'){

가 제출 버튼의 존재하지 않는지 확인하는 것은 매우 신뢰할 수있다.

+0

하지만 jQuery 유효성 검사가 제대로 실행 되려면 페이지를 새로 고쳐서는 안되며 유효성 검사를 호출하지 않는 것 같습니다. –

관련 문제