2016-03-25 2 views
0

Я хочу проверить имя группы.проверка формы в codeigniter с ajax

Я использую Ajax, но он не работает

Это мой взгляд

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

функция Javascript

<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> 

функция контроллера

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>'); 
    } 
} 

Пожалуйста, помогите ...

ответ

0

Убедитесь, что вы сначала создаете объект ответа.

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

В Javascript после получения ответа;

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

Просто эхо-результаты ajax - это то, что вам нужно немедленно уйти. Пожалуйста, примите это как дружелюбный совет.

+0

Не работает, показывая 'undefined' @YahyaE – Jatin

Смежные вопросы