|
передача большого количества переменных из PHP в JS
уважаемые комрады, помогите новичку (с JS у меня слабо).
При изминении в форме поля "num_contr" обновляет зависимое поле. рабочий кусок кода в JS: $(document).ready(function() { $('input[type=text]:text').change(function (){ $.post("ajax_all.php", { "num_contr" : $('input[type=text]').val()}, function(data){ var details = $("#pr1").val(data); }); }); }); в ajax_all.php .... echo $row['pr1p'];выводит результат одного запроса из мускула и бросает его в поле с id pr1. Ну;но, так же при изминении поля "num_contr", выводить результат php-запроса в мускул только на более 200 переменных и подставлять их в соответствующие id форми. для наглядности id соостветствуют переменным, следующим образом (id - переменная): pr1 - pr1p, pr2 - pr2p, pr3- pr3p, ... ps: не пойму как вывести значения множества переменных из отдельного php-обработчика в функцию для подстановки значений по id поля формы, при изменении одного поля, не утяжеляя"велосипедами" код. |
Ничего не понятно, единственное, что можно сказать, это следующим образом (id - переменная): pr1 - pr1p, pr2 - pr2p, pr3- pr3p - для того чтобы связать поля формы с идентификаторами записей в базе, не требуется pr1 - pr1p, pr2 - pr2p, pr3- pr3p и прочего подобного, вообще никаких ID полям формы задавать не надо.
|
Цитата:
|
Цитата:
|
Цитата:
Может я и придумываю велосипед, из того что умею, по-этому у вас тут и прошу помощи |
Цитата:
Поля формы есть коллекция элементов и JS вполне может получить эту коллекцию для работы с ней и ID для этого совсем не нужны. А вот если среди коллекции нужно индивидуально обратиться к одному элементу, тогда и полезен будет ID у такого поля. Форма отправляется как имя поля (ключ) = значение. Что вам мешает связать имена полей с идентификаторами из базы? name="record[234]" name="record[1203]" где цифры, это ключи записей в СУБД. В зависимости от метода передачи формы сервер получит GET/POST массив record, в котором ключи, это идентификаторы записей в базе, а значения, значения полей ее, которые редактировались. |
Цитата:
Цитата:
разницы в имени поля и ID (который нужен для вставки (как я понимаю) путем выполнения JS) тоже нет ? ну а по сути, каким образом можно решить эту сложную задачу в виде примера? |
Цитата:
Чтобы понять о какой задаче речь, нужно видеть форму (часть ее) с пояснением задачи. |
вот кусок
<form action="#" method="POST" enctype="multipart/form-data" name="addcom" id="addcom" onSubmit="return false"> <input name="num_contr" type="text" size="150" id="num_contr" required> <!-- ... --> <table class="research"> <tbody> <tr class="accordion"> <td colspan="3" class="vt">ВТ</td> </tr> <tr><td class="corr">....</td><td><input / type="Text" name= "prpvt" id="prpvt"></td></tr> <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> <!-- ... --> </tbody> </table> <input class="adscom" name="button" id="start" type="button" value='генерить' onclick="doLoad(document.getElementById('addcom'))"> </form> и кусок $(document).ready(function() { $('input[type=text]:text').change(function (){ $.post("ajax_all.php", { "num_contr" : $('input[type=text]').val()}, function(data){ var details = $("#prpvt").val(data); }); }); }); и массив из обработчика (ajax_all.php): $data = array( 'pdrpvt' => $row['pdrpvt'], 'rzrpvt' => $row['rzrpvt'], 'drpvt' => $row['drpvt'], 'ppvt' => $row['ppvt'], 'dkt' => $row['dkt'] ); echo json_encode($data); |
И что за задача?
|
Часовой пояс GMT +3, время: 00:40. |
|