28.03.2017, 22:58
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
не только форум но и сайт моего хостера странная реакция. вроде как сервер упал, но потом все возобновилось (довольно быстро), как будтно ддос
|
|
28.03.2017, 23:01
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Эта операция
$data = array(
'pdrpvt' => $row['pdrpvt'],
'rzrpvt' => $row['rzrpvt'],
'drpvt' => $row['drpvt'],
'ppvt' => $row['ppvt'],
'dkt' => $row['dkt']
никчемная, так как фактически вы заново указываете уже существующие ключи. То есть, если запрос возвращает одну строку, то сразу отдаем массив (а результат запроса, это массив) как JSON (естественно проверив возвращено ли что-то запросом):
echo json_encode(mysql_fetch_assoc($result));
На клиенте это будет объект (нет в JS ассоциативных массивов), в котором ключи переданного массива будут его свойствами. В цикле $.each ключ массива (k) присваивается имени поля формы, а значение (v) его значению.
|
|
28.03.2017, 23:08
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
Сообщение от laimas
|
Эта операция никчемная, так как фактически вы заново указываете уже существующие ключи. То есть, если запрос возвращает одну строку, то сразу отдаем массив
|
согласен, велосипед же )
понимаю что должно работать, но хочу проверить завтра вывод на всей форме, с реальными данными. пока спасибо, отпишусь по результату.
|
|
29.03.2017, 09:34
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
laimas, попробовал, и что получилось:
форма осталась не тронутая (т.е. те поля в которых ожидалась вставка - пустые), но после формы появились новые поля типа - <input name="pdrpvt" value="1">, данные выводяться с названиями и значениями соответственно правильно.
Но нужно чтобы заполнялись существующие поля формы, а не формировались новые.
Последний раз редактировалось dasser, 29.03.2017 в 10:23.
|
|
29.03.2017, 12:03
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Я в коде написал комментарий к тому, как получаем форму. Я же не держу все в уме, а открывать страницы ища чего там у вас когда сервер на ладан дышит тоже не из приятного.
Селектор своей формы надо было...
var f = $(this).closest('form'); $('#addcom');
|
|
29.03.2017, 12:13
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от dasser
|
нужно чтобы заполнялись существующие поля формы, а не формировались новые.
|
Это как понять?
|
|
29.03.2017, 12:18
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
laimas, попробовал, то же самое - создает новые inputы.
прочитал в докум-ции - Метод .append() вставляет указанное содержимое как ПОСЛЕДНИЙ элемент в каждом из элементов коллекции jQuery.
возможно нужно каким то образом уточнить именно подстановку в существующие поля?
|
|
29.03.2017, 12:24
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
Сообщение от laimas
|
Это как понять?
|
было:
<tr><td>....</td><td><input / type="Text" name= "pdrpvt" id="pdrpvt"></td></tr>
<tr><td class="corr">....</td><td><input / type="Text" name= "rzrpvt" id="rzrpvt"></td></tr>
<tr><td>....</td><td><input / type="Text" name= "drpvt" id="drpvt"></td></tr>
<tr><td class="corr">....</td><td><input / type="Text" name= "ppvt" id="ppvt"></td></tr>
<tr><td class="corr">....</td><td><input / type="Text" name= "dkt" id="dkt"></td></tr>
после изминения
<input name="num_contr" type="text" size="150" id="num_contr" required>
внизу добавилось
<input id="prpvt" value="1">
<input id="pdrpvt" value="">
<input id="rzrpvt" value="">
...
|
|
29.03.2017, 12:25
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Все правильно, этот метод добавляет указанные элементы в указанное.
А вы хотите заменять пришедшим существующее, то есть у вас в форме уже есть поля? А они откуда взялись?
Я вас просил описать словами конкретно задачу - что, зачем, почему. Этого не было сделано, ну а я не фокусник.
Если надо замещать существующие поля, значит нужно имеющиеся в форме поля удалять при вставке новых, то есть вот так:
var f = $('#addcom').empty();
|
|
29.03.2017, 12:34
|
Аспирант
|
|
Регистрация: 17.06.2014
Сообщений: 56
|
|
Сообщение от laimas
|
Все правильно, этот метод добавляет указанные элементы в указанное.
А вы хотите заменять пришедшим существующее, то есть у вас в форме уже есть поля? А они откуда взялись?
Я вас просил описать словами конкретно задачу - что, зачем, почему. Этого не было сделано, ну а я не фокусник.
Если надо замещать существующие поля, значит нужно имеющиеся в форме поля удалять при вставке новых, то есть вот так:
var f = $('#addcom').empty();
|
я не однократно писал что форма и поля уже существуют, и (в дополнении) значения их после изменения одного поля, нужно подставлять данные из массива пришедшего от обработчика.
Цитата:
|
каждую переменную вывести в уже готовые поля формы
|
|
|
|
|