ajax

2016-03-25 20 views
0

ile kod imzalayıcısında form doğrulama. Grup adını doğrulamak istiyorum.ajax

Ben ajax kullanıyorum ama

Bu

çalışmıyor

<?php echo form_input(['name'=>'groupname','class'=>'form-control','placeholder'=>'Enter group name','value'=>'','ng-model'=>'myWelcome[0].groupname','onkeyup'=>'loadValid(this.value)']) ?> 

JavaScript işlevi

<script type="text/javascript"> 
    function loadValid(v) { 
    if(v) 
    { 
     var url= window.location.href; 
     var res = url.split("/"); 
     var groupid = res[res.length-1]; 
     var xhttp = new XMLHttpRequest(); 
     xhttp.onreadystatechange = function() { 
      if (xhttp.readyState == 4 && xhttp.status == 200) { 
       document.getElementById("demo").innerHTML = xhttp.responseText; 
      } 
      }; 
     xhttp.open("GET", site_url + "admin/Usergroup_controller/store_edit_group_name_ajax/" + groupid + "/" + v, true); 
     xhttp.send(); 
    } 
    else 
    { 
     document.getElementById("demo").innerHTML = "Group name is required field."; 
    } 
    } 
</script> 

Kontrolör fonksiyonu

public function store_edit_group_name_ajax($groupid,$groupname) 
{ 
    $this->load->library('form_validation'); 
    $this->form_validation->set_rules('groupname', 'Group name', 'trim|required|alpha|is_unique[group.groupname]|min_length[3]'); 

    if($this->form_validation->run()) 
    { 
     echo form_error('groupname','<p class="text-danger">','</p>'); 
    } 
} 

yardım edin benim görünümdür ...

cevap

0

Önce bir yanıt nesnesi oluşturduğunuzdan emin olun.

$response = new stdClass(); 
if ($this->form_validation->run() == false) 
{ 
    $response->status = 'failure'; 
    $response->error = validation_errors('<p class="text-danger">', '</p>'); 
} 
... 
return $response; 

Cevabı aldıktan sonra;

document.getElementById("demo").innerHTML = xhttp.responseText.error; 

Sadece ajax sonuçlarını ekleyerek hemen çıkmanız gereken bir şey var. Lütfen dostça bir tavsiye olarak alın.

+0

Çalışmıyor gösteriliyor 'undefined' @YahyaE – Jatin