Как передать значение ответа ajax в поле ввода для автозаполнения - PullRequest
0 голосов
/ 13 мая 2019

Я хочу, чтобы автозаполнение автоматически заполняло форму, если в нем были данные прошлых пользователей. Но когда я ввел в поле i_ic_num форму, она не заполняет форму автоматически. Однако данные, которые я передаю через ajax, имеют ответ, содержащий другие поля, такие как s_name, i_contact_num, s_company_name и s_host. Поэтому я не совсем понимаю, где я неправ.

\\\\\
<script>  
        $(document).ready(function(){  
            $('#i_ic_num').change( function(){  
                var i_ic_num = $(this).val();  
                url = "<?php echo base_url('index.php/visitor_new/autofill'); ?>";
                $.ajax({  
                      url,  
                      method:"POST",  
                    data:{
                           i_ic_num:$("#i_ic_num").val()
                      },  
                      async : false,
                      dataType: 'json',      
                      success: function(json)  
                         {                            
                             //$('#i_ic_num').val(json.i_ic_num);  
                             //$('#s_name').val(json.s_name);
                              //$('#i_contact_num').val(json.i_contact_num);
                                //$('#s_company_name').val(json.s_company_name);  
                          //$('#s_host').val(json.s_host);

                              var obj = $.parseJSON(json);
                               $('#s_name').val("s_name");              
                           },   
                      });  

            });

       });  



    </script>  
\\\\

Я ожидаю, что он заполнит соответствующее поле, которое было вызвано. Тем не менее, он не сделал то, что я хотел.

Консоль

Output

1 Ответ

0 голосов
/ 14 мая 2019

Я уже разобрался с ответом!Всем спасибо.Я сохранил свой сценарий таким, какой он есть.И я добавил ob_start;в начале моей функции автозаполнения и ob_end_clean ();прямо перед выводом моего массива json.Это функция для очистки буфера, если браузер должен был что-то выводить.Здесь я включаю свои коды для всеобщего обозрения.

public function autofill(){
        ob_start();
        $i_ic_num =$this -> input -> post('i_ic_num');
                $arr_result = array();
                print_r($i_ic_num);
        if($i_ic_num <> ""){
            $this -> load -> model("visitor_new_model");
            $this -> db -> where($this -> visitor_new_model -> table.'.i_ic_num', $i_ic_num);
            $visitor_new_info = $this -> visitor_new_model -> _get_single();
            if ($visitor_new_info){

                //$arr_result['i_ic_num'] = $visitor_new_info ->i_ic_num ;  
                $arr_result['s_name'] = $visitor_new_info ->s_name ;    
                $arr_result['i_contact_num'] = $visitor_new_info->i_contact_num ;
                $arr_result['s_company_name'] = $visitor_new_info ->s_company_name ;    
                $arr_result['s_host'] = $visitor_new_info ->s_host ;    

            }

        }       
            ob_end_clean();
            echo json_encode($arr_result);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...