2013-07-01 4 views
0

Captcha 유효성 검사가 작동하고 메일 전송 Ajax가 작동하지 않으며 성공 메시지 또는 실패 메시지가 표시되지 않습니다. 전체 코드를 찾으십시오 (일부 서식 오류를 제공함에 따라 여기에 코드를 붙여 넣을 수 없으므로). 두 개의 jquery ajax 요청이 작동하지 않습니다.

http://demo.cateringandevents.in/contactusform.htm

이 HTML 양식을위한 더 나은 검증 방법을 제안 해주십시오.

+0

코드를 게시하시기 바랍니다 :

이전 댓글이 작동하지 않는 경우

는 하나의 둥지에 두 기능을 시도 할 수 있습니다 (async 옵션은 모든 경우에 작동하지 않는 것 같다). 링크는 항상 나쁜 생각입니다. http://jsbeautifier.org/를 사용하고 여기에 코드를 게시하십시오 (답안에 코드를 표시하고 crtl + k를 누르십시오). 효과가 없다면 걱정하지 마세요. 이에 따라 질문을 수정하고 편집 할 준비가 된 많은 사람들이 있습니다. – Christoph

답변

0

오류 콜백 옵션을 구현하십시오. 그러면 필요한 오류 정보가 제공됩니다. 무언가 잘못되었을 때 호출되지 않는 성공 콜백 만 구현 중입니다. 선택적으로 ajax 요청이 전송 된 후에 항상 호출되는 완전한 콜백을 구현할 수도 있습니다.

$.ajax({ 
     type: "POST", 
     url: "thankyou.php", 
     data: sData, 
     success: function() { 
      // Yeah! 
     }, 
     error: function(){ 
      // oops 
     } 
}); 
+0

아직 오류 메시지가 나타나지 않습니다. – user601140

+0

오류 콜백이 호출 되었습니까? 즉, 거기에 중단 점을 넣거나 콘솔 로그를 추가하면 코드가 일시 중지되어 실행됩니까? –

+0

나는 이것들에 익숙하지 않다. 나는이 모든 것을해야만한다. .. – user601140

0

다음 함수는 항상 false을 반환합니다. 비동기식으로 생각해야합니다. Ajax 호출을 호출하면 프로그램은 실행을 계속하고 false를 반환하고 서버 응답이있을 때마다 성공 콜백이 true를 반환하지만 더 이상 수신 대기하지 않습니다.

function validateCaptach() { 
    if (validateForm()) { 
     var captchaval = $("#verificationcode").val(); 
     $.ajax({ 
      type: "POST", 
      url: "captchacheck.php", 
      async: false, // Lets make it synchronous 
      data: { 
       verificationcode: captchaval 
      }, 
      success: function (data) { 
       if (data == "SUCCESS") { 
        alert("captchacheck sucess.."); 
        return true; 
       } else { 
        alert("The security code you typed was wrong. Please try again."); 
        return false; 
       } 
      } 
     }); 
    } 

    return false; // No matter what happends it always return false 
} 

마지막 반환을 제거하고 그것이 응답을 얻을 전까지 중지 브라우저를 forze합니다 (이미 이전 조각에 추가) async: false, 다시 시도하고 그것은 성공에 프로그램의 정상적인 실행을 계속합니다 콜백.

function submitform() { 
    if (validateForm()) { 
     var captchaval = $("#verificationcode").val(); 
     $.ajax({ 
      type: "POST", 
      url: "captchacheck.php", 
      data: { 
       verificationcode: captchaval 
      }, 
      success: function (data) { 
       if (data == "SUCCESS") { 
        alert("captchacheck sucess.."); 
        sendForm(); // New function 
       } else 
        alert("The security code you typed was wrong. Please try again."); 
      }, 
      error: function(jqXHR, textStatus, errorThrown) { // New error handler 
       alert("Ouch! something went wrong checking the captcha?. " + errorThrown); 
      } 
     }); 
    } 
} 

function sendForm() { 
    var sData = $("#RegisterUserForm").serialize(); 
    alert('i am here to process..'); 
    $.ajax({ 
     type: "POST", 
     url: "thankyou.php", 
     data: sData, 
     success: function (data) { 
      if (data == "YESSUCCESS") 
       alert("Your Query has been sent.."); 
      else 
       alert("some error please type again..."); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { // New error handler 
      alert("Ouch! something went wrong sending the form?. " + errorThrown); 
     } 
    }); 
} 
+0

유감스럽게도 그 반응이 없다 .. plese가 5 시간 동안 나를 죽이는 것을 ... – user601140

+0

@ user601140 나는 완전히 내 게시물을 편집하고 그 방법으로 확인하고 무슨 일이 일어 났는지 보도록한다. 보시다시피 항상 false를 반환하므로 다음 ajax 호출은 소환되지 않습니다. – maqjav

+0

늦게까지 죄송합니다. 난 당신의 변화와 함께 노력했다. 같은 결과가오고있다 .. 당신이 원한다면 확인하십시오. URL은 – user601140

관련 문제