установить входное значение асинхронно - PullRequest
0 голосов
/ 27 августа 2018

Я хотел бы поместить значение ввода асинхронно для оптимизации производительности отображения моей страницы.

Вот фрагмент кода, который я хотел бы использовать с вызовом AJAX, за исключением того, что я не знаю, как сделать этот вызов на входе.

<td class="why_input_wrapper">
   <input id="plan_link_url;<?php echo $plan_infos; ?>" value="<?php echo RcaviewController::getBrand($brand_owner[0]); ?>"/>
</td>

Ответы [ 2 ]

0 голосов
/ 27 августа 2018
<?php
$inputid = "plan_link_url;$plan_infos;";
?>
<td class="why_input_wrapper">
   <input id="<?= $inputid ?>" value=""/>
</td>
<script>
jQuery( document ).ready(function() {
jQuery.ajax({
            type: "POST",
            url: "/Rcaview/getBrand",
            dataType: 'json',
            data: {
                brand: "<?= $brand_owner[0]; ?>,
            },
            error: function () {
                console.log("error");
            },
            success: function (res) {
                if (res) {
                   jQuery("#<?= $inputid ?>").val(res);
                }
            }
});
});
</script>

Многое должно быть изменено в соответствии с вашей структурой и кодом, что не показано в вопросе. В этом ответе я предполагаю, что:

  1. идентификатор ввода "plan_link_url;$plan_infos;", насколько я понимаю из вашего кода
  2. существует связь между контроллером, который вы хотите вызвать, и конечной точкой /Rcaview/getBrand (измените его, если он отличается)
  3. Это вызов POST с параметром brand в качестве входных данных, а dataType - JSON (измените его, если он отличается)
  4. Ответ - это просто добавляемое значение, в противном случае, пожалуйста, проанализируйте переменную result соответственно
  5. Вы можете использовать jQuery, в противном случае измените способ выполнения вызова AJAX с помощью предпочитаемой вами библиотеки или обычного JS, замените jQuery("#<?= $inputid ?>").val(res); на document.getElementById('<?= $inputid ?>').value = res; и функцию ready() на document.addEventListener("DOMContentLoaded", function()
0 голосов
/ 27 августа 2018

Зависит ли ваш вход от другого входа, если да, то вам нужно использовать что-то вроде следующего: -

$("dependent_input_id").on("event",function(){
  $.ajax({
        url: "api call url",
        data:{param1:value, param2: value,...},
        success:function(){
          //update the the input
        }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...