Как получить значение текстовой области и передать его в link_to - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь получить значение из текстовой области в моем файле Haml:

%p.text-left
  Please provide reason for rejection.
%textarea#RejectionReason.form-control{:rows => "3"}

У меня есть JavaScript, чтобы справиться с этим:

:javascript
  function myFunction() {
    var x = document.getElementById("RejectionReason").value;
  }

Проблема в том, как мне вызвать myFunction(), чтобы мой link_to сначала запустил функцию, а результат был помещен в переменную myreason?

= link_to (reject_job_order_path(@job_order, :reason => myreason), method: :get, class: 'btn btn-danger') do
  %i.fa.fa-thumbs-down
    Reject

Это все внутри модального, если это помогает, и все они в одном и том же show.html.haml.

1 Ответ

0 голосов
/ 04 июня 2019

При готовности документа получите значение RejectionReason из textarea

Использование синтаксиса JavaScript:

:javascript
  if (document.readyState === 'complete') {
    var rejectReason = document.getElementById("RejectionReason").value;
    var currentRejectJobPath = document.getElementById("reject-job-link").href;
    var jobPathWithReason = currentRejectJobPath + "?reason=" + rejectReason;
    document.getElementById("reject-job-link").href=jobPathWithReason;
  }

Использование синтаксиса jQuery:

:javascript
  $( document ).ready(function() {
    var rejectReason = $("#RejectionReason").val();
    var currentRejectJobPath = $("#reject-job-link").attr('href');
    var jobPathWithReason = currentRejectJobPath + "?reason=" + rejectReason;
    $("#reject-job-link").attr('href', jobPathWithReason)
  }

Добавьте id на ссылку и удалите параметр reason, который будет передан с использованием JavaScript:

= link_to (reject_job_order_path(@job_order), method: :get, class: 'btn btn-danger', id: 'reject-job-link') do
  %i.fa.fa-thumbs-down
    Reject
...