2016-12-31 7 views
-1

私はオーダーフォームを持っていると注文を提出する前に、ユーザーは着払いのためのキャプチャコードを通過する必要がありますjqueryのコードは、私はjQueryのを使用してキャプチャコードが正しいか間違っているかどうかをチェックしています...正しく

が動作していません。

入力したcaptchaコードが間違っていた場合は、ユーザーがpreventDefaultを使用してフォームを送信することを許可せず、エラーについて警告します。しかし、キャプチャコードが正しく入力された後も、ユーザーが注文を送信することはできません。ここで

私のコードがある...

//for captcha code 
     var captcha = null; 
     //check if captcha code is right 
     $("#apply_captcha").on("click", function(){ 
     var captchaUrl = '<?php echo base_url(); ?>index.php/checkout/check_captcha/'; 
     var captcha = $('#userCaptcha').val(); //user entered value for captcha 
      $.ajax({ 
       url: captchaUrl, 
       type: 'POST', 
       data: 'captcha='+captcha, 
       success: function(result) 
       { 
        if(result === "success") 
        { 
         captcha = true; 
         $('#captcha_msg').hide(); 
         $('#userCaptcha').css('border', '2px solid green'); 
        } 
        else 
        { 
         captcha = false; 
         $('#captcha_msg').text("Sorry, Your captcha is wrong."); 
         $('#captcha_msg').css('color', '#cb2700'); 
        } 
       } 
      }); 
     }); 

     $('#orderform').submit(function(e) 
     { 
      if(!pincode_available) 
      { 
       alert("Sorry, We are not supplying any product at this area right now."); 
       e.preventDefault(); 
      } 
      else if(!captcha) 
      { 
       alert("Sorry, Your captcha is wrong"); 
       e.preventDefault(); 
      } 
     }); 
+0

キャプチャを確認するコードはありますか? –

+0

@ Kiran.Bええ...すべて正常に動作します。正しいキャプチャを入力すると、入力ボックスの枠が緑色になり、間違ったキャプチャの場合、そのメッセージも表示されます。 しかし、フォーム...私はグローバル化したcaptcha変数をチェックします... – ravi

+0

フォームの送信時にコントロールが関数に入るかどうか確認できますか?私はフォームを送信する際Kiran.Bません@ –

答えて

1

は、「クリック」機能で「キャプチャ」変数のためにvarキーワードを削除してください。送信関数がグローバル変数を使用しているときに新しいローカル変数を作成するように見えます。

P.S:ソリューションの到着を確認するには、質問のコメントを参照してください。

関連する問題