Validasi username sudah ada dengan ajax di codeigniter tidak berhasil

saya ingin menampilkan di form saat kotak input (blur atau change) dan diisi dengan username yang ternyata sudah ada, maka akan muncul pesan saat itu juga tanpa perlu direfresh formnya atau disubmit. Saya cari tutorialnya menggunakan ajax, cuma saya coba kok gagal ya. Pesan akan muncul disamping form input username dengan id=username_result controllernya:

function checkUsername($userName){
  $userName = $this->input->post('username');
  $if_exists = $this->m_admin->checkUserexist($userName);
  if ($if_exists > 0) {
    echo json_encode('Exists');
  } else {
    echo json_encode('Not exists');
  }
}

function simpan(){
===== jika validasi sudah benar maka akan diproses ke simpan =====
}

modelnya:

function checkUserexist($userName) {
   return $this->db->get_where('tbuser', ['username' => $userName])->num_rows();
}

viewnya:

<span id="username_result"></span>
								<input type="text"  id="username" class="span4" name="username" placeholder="Example" required>
								<p>Panjang karakter minimal 4.</p>

ajaxnya:

<script type="text/javascript">
$(document).ready(function(){
  $('#username').change(function(){
var username = $('#username').val();
if(username != ''){
    $.ajax({
        url:"<?php echo base_url('staff/admin/checkUsername');?>";
        method:"post",
        data:{username:username},
        dataType: 'json',
        success:function(data){
            $('#username_result').html(data);
            //console.log(data);
        }
    });
}
});
});
</script>

avatar alexistdev
@alexistdev

25 Kontribusi 11 Poin

Dipost 5 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

Maaf setelah ngulik sana sini, akhirnya ketemu jawabannya:

<pre> &lt;script&gt; $(document).ready(function(){ $('#username').blur(function(){ $.ajax({ type: "POST", url: "&lt;?php echo base_url('main/checkUsername');?&gt;", data: $(this).serialize(), success: function (data){ if(data=="ok"){ $('#username_result').html('&lt;font color="red"&gt;tidak tersedia&lt;/font&gt;'); } else { $('#username_result').html('tersedia'); } } }); }); }); &lt;/script&gt; </pre>

detailnya ada di website saya <a href=' link disini '>alexistdev.com</a>

avatar alexistdev
@alexistdev

25 Kontribusi 11 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban