|
передача большого количества переменных из 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, время: 23:20. |
|