2015-01-20 3 views
0

Во-первых, я использую $.getJSON(), отправляя идентификатор пользователя с помощью запроса GET.Ajax вызов для заполнения полей формы из возвращаемого объекта php

Javascrit часть:

 $.getJSON("this_file.php?id=1", null, function(data){ 
      $('input#id').val(data.id); 
      $('input#username').val(data.username); 
      $('input#first_name').val(data.first_name); 
     }); 

Когда reveicing идентификатор пользователя с помощью запроса GET, я запускаю функцию, чтобы вернуться ко мне объектную с деталями пользователя.

PHP часть (this_file.php):

<?php 
     $id = $_GET['id']; 
     $user = $db->find_by_id($id); //This function will return a single user details. 
     echo json_encode($user); 
    , //echo $user output is: {"id" : "1", "username" : "bobu", "first_name" : "bob"} 
    ?> 

Вот поля формы должны быть заполнены.

HTML форма:

<input type="text" value="" name="id" id="id"> 
<input type="text" value="" name="username" id="username"> 
<input type="text" value="" name="first_name" id="first_name"> 

В консоли браузера, ответ из запроса GET возвращается, как и ожидалось:

{"id" : "1", "username" : "bobu", "first_name" : "bob"}

Однако значения не отображаются на форме , как мне сделать такой подход?

+0

Вы получаете сообщение об ошибке в консоли javascript? – bhspencer

+0

Совсем нет, он успешно возвращает ожидаемые данные, он просто не обновляет поля формы – dzerow

+0

вам не нужно использовать input # id, просто используйте '$ ('# id'). Val (data.id);' – Jim

ответ

0

Я хотел бы использовать Javascript, но если вы не собираетесь:

Изменение

<input type="text" value="" name="id" id="id"> 
<input type="text" value="" name="username" id="username"> 
<input type="text" value="" name="first_name" id="first_name"> 

к:

<input type="text" value="<?php if($sentVar==1){echo $id;} ?>" name="id" id="id"> 
<input type="text" value="<?php if($sentVar==1){echo $username;} ?>" name="username" id="username"> 
<input type="text" value="<?php if($sentVar==1){echo $first_name;} ?>" name="first_name" id="first_name"> 

затем добавить условие в PHP при срабатывании:

$sentVar=1; 

или просто попробуйте:

<input type="text" value="<?php echo $id; ?>" name="id" id="id"> 
<input type="text" value="<?php echo $username; ?>" name="username" id="username"> 
<input type="text" value="<?php echo $first_name; ?>" name="first_name" id="first_name"> 
Смежные вопросы