2016-04-20 10 views
2

ich habe einen formularnamen nama kategori und dann wenn jemand die nama kategori, die bereits vorhanden sind, ich möchte die Schaltfläche unclickable wie wenn der Button angeklickt wird es wird nichts tun, das Problem ist ich es schaffen zu bekommen die error message, wenn der Eingang der vorhandenen nama kategori, aber wenn ich auf die Schaltfläche klicken wird es immer noch die Daten und Eingeben der Daten senden, für weitere Informationen sehen sie die Bilder untercodeigniter: form validation jquery

Erfolg Anzeige Fehlermeldung enter image description here

Dann klickte i-Taste „Tambah“enter image description here

es noch ist, die Daten in den Tabellen hinzufügen, ich will, dass verhindern, ich will, wenn die Schaltfläche geklickt es nicht gonna unten alles tun, sind meine Code

JQUERY

$(document).ready(function(){ 
    var check1=0; 
    $("#kategori").bind("keyup change", function(){ 
    var nama = $(this).val(); 
    $.ajax({ 
     url:'cekData/kategori/nama_kategori/'+nama, 
     data:{send:true}, 
     success:function(data){ 
      if(data==1){ 
       $("#report1").text(""); 
       check1=1; 
      }else{ 
       $("#report1").text("*choose another kategori"); 
       check1=0; 
       } 
      } 
     }); 
    }); 
}); 

VIEW

<div class="row"> 
    <div class="col s12 m8 l6 offset-m2 offset-l3" align="center"> 
     <form action="<?php echo site_url('kategori/insertKategori') ?>" method="post"> 
     <div class="input-field"> 
      <input id="kategori" name="kategori" type="text" maxlength="40" class="validate" required> 
      <label for="kategori">nama kategori</label>&nbsp;<span class="error" id="report1"></span> 
     </div> 
     <br/> 
      <button type="submit" class="waves-effect waves-light btn blue darken-1">Tambah</button> 
     </form> 
     <br/> 
    </div> 
</div> 

CONTROLLER

public function cekData($table, $field, $data){ 
    $match = $this->MKategori->read($table, array($field=>$data), null, null); 
    if($match->num_rows() > 0){ 
     $report = 2; 
    }else{ 
     $report = 1; 
    } 
    echo $report; 
} 

Antwort

2

Sie müssen folgende Änderungen an der jQuery-Code machen:

$(document).ready(function(){ 
    var check1=0; 
    $("#kategori").bind("keyup change", function(){ 
    var nama = $(this).val(); 
    $.ajax({ 
     url:'cekData/kategori/nama_kategori/'+nama, 
     data:{send:true}, 
     success:function(data){ 
      if(data==1){ 
       $("#report1").text(""); 
       check1=1; 
       $('button[type="submit"]').prop('disabled',''); 
      }else{ 
       $("#report1").text("*choose another kategori"); 
       check1=0; 
       $('button[type="submit"]').prop('disabled',true); 
       } 
      } 
     }); 
    }); 
}); 
+0

gut, th anks, ich weiß nicht, wir können das in jquery tun –