В моем веб-приложении у меня есть форма, содержащая около 25 полей. Пользователи создадут эту форму, и значение поля формы будет передано в таблицы базы данных. Но мне также нужна функция редактирования для этой формы. Люди будут нажимать кнопку, форма загружается, и мне нужны значения полей формы для загрузки из базы данных. Я знаю, что могу загружать данные в поле формы с помощью функции загрузки jquery:
$('#text_field').load('text_field_value.php');
Но когда у меня есть 25 полей, мне нужно сделать 25 подключений к базе данных (1 соединение на файл), поэтому загрузка моей формы очень медленная.
Есть ли какое-либо решение для ускорения процесса?
Спасибо заранее.
Возможно, вы должны загрузить значения полей, используя один запрос ajax, чтобы вы использовали только одно соединение с базой данных, а затем, как сказал Пекка, возвратите массив JSON. Затем с помощью jQuery перейдите в массив JSON, введя значения в правильные поля.
Поэтому используйте .getJSON/.post/.ajax вместо .load
EDIT: пример массива JSON с объектами для каждого поля
[
{
'field' : '#field1',
'fieldType' : ':text',
'fieldValue' : 'Test Value'
},
{
'field' : '[name=field2]',
'fieldType' : ':radio',
'fieldValue' : '#item1'
},
{
'field' : '#field3',
'fieldType' : 'select',
'fieldValue' : 5
},
{
'field' : '#field4',
'fieldType' : ':checkbox',
'fieldValue' : true
}
]
Затем вы можете выполнить цикл через массив следующим образом:
for(i in array)
{
/***
* access each object as follows:
* array[i].field
*/
.....
}