2016-09-28 4 views
0

フォームに2つのテキストボックスがあります。バリデーションがfalseの場合、ajax urlを送信しないようにします。 jqueryについてよく知っている助けてください。検証にfalseが指定された場合、ajax urlは送信を許可しない

<div class="coupon" style="display:none;">        
    <input type="text" class="coupon-name" name="fullname" id="fullname"> 
    <span class="name-error"></span> 
    <input type="text" class="coupon-email" name="email" id="email"> 
    <span class="email-error"></span> 
    <button type="submit" value="status_add" name="status_add" id="add-status" onclick="checkStatus()">Apply</button> 
</div> 

<script type="text/javascript"> 
function checkStatus(){ 
     var fullname = $(".coupon-name").val(); 
     var email = $(".coupon-email").val(); 

     if(fullname == ''){ 
      $('input[name="fullname"]').next('span').text('Please Enter Your Name'); 
     } 
     if(email == ''){ 
      $('input[name="email"]').next('span').text('Please Enter a Email Id'); 
     }        

     $.ajax(
     { 
      url  : "<?php echo base_url('myaccount/validate/'); ?>", 
      type : "POST", 
      data : {fullname: fullname,email:email} , 
+0

'(フルネーム&&メール){$アヤックス(...)の場合を、 } ' –

+0

条件の場合、返り値falseを返します。if(フルネーム==' '){ $('入力[名前= "フルネーム"] ')次の('スパン ')テキスト('あなたの名前を入力してください ');偽を返します。 } – JYoThI

+0

'if(fullname == ''){あなたのコード; falseを返します。 } ' – devpro

答えて

2

は、あなたがコードしている上で多くの時間を費やすことはありませんでした、他のエラーがあるかどうかわからないが、あなたは「他」の状態でAjaxの部分を入れなければならないことがあり、それ以外の場合は毎回行われます2つのif条件の結果とは独立しています。

+0

ajaxでは、検証やその他の条件をチェックしています。まず、テキストボックスを空にしないことをお勧めします。 – Snehal

2

使用あなたがのcheckStatusでブールフラグを使用する必要がありますreturn false;

var fullname = $(".coupon-name").val(); 
     var email = $(".coupon-email").val(); 
     var error=0; 
     if(fullname == ''){ 
      $('input[name="fullname"]').next('span').text('Please Enter Your Name'); 
     error=1; 
     } 
     if(email == ''){ 
      $('input[name="email"]').next('span').text('Please Enter a Email Id'); 
     error=1; 
     } 

     if(error>0){ 
     return false; 
     } 
2

、これを試してみてください。 [OK]を、その後これを行うあなたのjsコード場合<input type="button" /> <form id="form" method="post" action="xxxxx.php">

function checkStatus(){ 
    var fullname = $(".coupon-name").val(); 
    var email = $(".coupon-email").val(); 

    var isValidate = true; 

    if(fullname == ''){ 
     isValidate = false; 
     $('input[name="fullname"]').next('span').text('Please Enter ..'); 
    } 
    if(email == ''){ 
     isValidate = false; 
     $('input[name="email"]').next('span').text('Please Enter a Email'); 
    }        

    if (!isValidate) { return;} 

    //ajax request 
} 
0

あなたはこれを使用することができます$('#form').submit();

関連する問題