【问题标题】:How to get the value of a textarea and pass it to a link_to如何获取 textarea 的值并将其传递给 link_to
【发布时间】:2023-03-22 07:00:01
【问题描述】:

我正在尝试从我的 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中。

【问题讨论】:

  • 你在用jquery吗?
  • @Gabbar 我在同一个haml文件中有%script{:src => "/assets/js/vendor/jquery-2.1.4.min.js"}
  • 使用 jquery 的语法很简单。
  • @Gabbar 怎么样?你知道一个 jquery 函数来做到这一点吗?或者你有代码吗?
  • @已经使用javascript和jquery两种方式给出了答案,请看一下。

标签: javascript ruby-on-rails ruby haml


【解决方案1】:

在文档准备就绪时,从 textarea 获取 RejectionReason 的值

使用 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 并删除将使用JavaScript 传递的reason 参数:

= 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-01
    • 2016-02-13
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 2019-03-06
    • 2012-06-26
    • 2014-11-05
    相关资源
    最近更新 更多