2013-05-02 7 views
1

У меня есть раскрывающийся список (тег HTML Select) и HTML-форма под ним. Как ниже -отображение значения из базы данных в тег ввода HTML

Select->

<select name="select-native-1" id="select-native-1" onChange="dbToForm(this)"> 
      <option value="1">Employee 1</option> 
      <option value="2">Employee 2</option> 
      <option value="3">Employee 3</option> 
      <option value="4">Employee 4</option> 
     </select> 

Форма ->

<form> 
     <label for="e_name">Name</label> 
     <input name="e_name" id="e_name" value="" type="text" data-theme="a"> 
     <label for="date">Date</label> 
     <input name="date" id="date" value="" type="date" data-theme="a"> 
     <label for="gender">Gender</label> 
     <select name="gender" id="gender" data-role="slider" data-theme="a" data-inline="true"> 
      <option value="male">Male</option> 
      <option value="female">Female</option> 
     </select> 
     <label for="address">Address</label> 
     <textarea name="address" id="address" value="" type="text" data-theme="a"></textarea> 
     <br> 
     <br> 
     <label for="image">Add Image</label> 
     <input name="image" id="image" value="" type="file" data-theme="a"> 
     <br> 
     <br> 
     <label for="multimedia">Add Multimedia</label> 
     <input name="multimedia" id="multimedia" value="" type="file" data-theme="a"> 
     <br> 
     <br> 
     <input value="Submit" data-role="button" type="submit"> 

Когда я выбираю значение из тега Select, ожидаемая функциональность, основываясь на выбранной Идентификатор объекта, значения из базы данных извлекаются. Я делаю это извлечение с помощью PHP, встроенного в JS-функцию.

Javascript ->

function dbToForm(id) { 
var id_val = id.value; 
var name = ''; 
var url = "http://localhost:81/PG_crud_experiment1/retrieve.php?id="+id_val; 
$.getJSON(url, function(json) { 
       $.each(json, function(i,v) {  

       name += v.name; 
       alert (name); 

       }); 
         $("#e_name").html(name); 
     }); 

}; 

Здесь я могу получить значения из БД в моей функции JS и сохранить его в переменной. Эта переменная должна быть перенесена в мое поле формы HTML. #e_name - это тег <input>, и я не могу отобразить возвращаемое значение в этом поле. Существует <textarea>, и значение печатает там без проблем.

Это ограничение для <input> бирка? Если да, что можно использовать в качестве альтернативы для тега?

Обращаем ваше внимание, что значения, полученные в моей форме, предназначены для редактирования и обновления. То есть значения, заполненные в форме, могут редактироваться и обновляться в базе данных.

ответ

5

Вводные теги не имеют HTML, они имеют значения.

$("#e_name").val(name); 

.html() для заполнения элементов между <tag> и </tag>. Входы не имеют соответствующих тегов, поэтому, где бы HTML-код пошел?

+0

ах, я пропустил эту логику. теперь полностью понят. Работает. –

2

Textarea работает иначе, чем остальные элементы управления вводом. Используйте это вместо:

$("#e_name").val(name) 
Смежные вопросы