簡體   English   中英

Ruby on Rails-form.submit()jQuery不將參數作為JS傳遞

[英]Ruby on Rails - form.submit() Jquery not passing parameters as JS

我正在嘗試使用以下jQuery代碼在頁面加載時自動提交表單:

$(document).ready(function(){
  $("#finds_expense").submit();
});

表單提交要求參數為JS 當我手動提交表單時,它可以正常工作,但是當我使用jQuery的(document).ready ,參數以某種方式作為HTML而不是JS傳遞。 我對此表示感謝。 已經被這個問題困擾了一段時間了。 TQ。

以下是finds_expense的代碼:

<div id="month-lookup"> 
<%= form_tag search_expense_path, remote: true, method: :get, id: "finds_expense" do %>
    <div class="form-group row no-padding text-center col-md-8">
        <div class="col-md-4">
            <%= text_field_tag :month,  params[:month], 
                placeholder: "month", 
                autofocus: true,  
                class: "form-control search-box input-lg" %>
        </div>
        <div class="col-md-4">
            <%= text_field_tag :year, params[:year], 
                placeholder: "year", 
                autofocus: true,  
                class: "form-control search-box input-lg" %>
        </div>
        <div class="col-md-2">
            <%= button_tag(type: :submit, class: "btn btn-lg btn-success", id: "submit_expense") do %>
                <i class="fa fa-search"></i> Send
            <% end %>
        </div>
    </div>
<%end%>

如果您在表單對象中調用.submit()方法,則remote: true選項將不起作用。

一種選擇是使用.trigger('submit')觸發表單。

另一個解決方案可能是這樣的:

$(document).ready(function(){
  var formData = $("#finds_expense").serialize();
  $.ajax({
   url: '...',
   data: formData,
   type: 'POST',
   contentType: 'apploication/script'
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM