在新服務器上重新安裝Rails應用程序。部分應用程序可以根據用戶選擇的按鈕在兩個方向中的某一方向進行分叉。這部分不起作用,並且當我查看日誌時,我看到了我給出的表單的值,除外,其餘部分爲params散列的commit
部分。這似乎是應用程序無法按預期工作的原因(因爲params[:commit]
中沒有任何內容,但我不知道爲什麼提交不會傳入;請求肯定是POST請求,並且所有其他參數都在那裏。Rails未通過「提交」按鈕參數
回答
曾與禁用按鈕上提交特徵的simular問題。在提交表單之前,我們通過添加具有相同名稱和值的隱藏輸入字段來解決此問題。
function disableButtonAndSubmit()
{
var input = $("<input type='hidden' />").attr("name", $(this)[0].name).attr("value", $(this)[0].value);
$(this).closest('form').append(input);
$(this).attr('disabled', 'disabled').html('Loading…');
$(this).closest('form').submit();
}
$('#somewhere button').click(disableButtonAndSubmit);
我之前看過類似這樣的東西,在不同的瀏覽器如何通過表單上的提交按鈕的值不一致的情況下,我發現唯一實用的解決方案是在按鈕中設置javascript以設置隱藏字段,並使用該值,而不是
下面是我的一些代碼到一個區分保存並退出,肚裏的一種方式,並保存並繼續哪去了另一個:
<%= hidden_field_tag 'step_commit', '' %>
<span style="float:left;">
<%=submit_tag 'Cancel', :name=>'cancel', :onclick=>"javascript:location.href='/';return false;" %>
<%=submit_tag 'Save and Exit', :name=>'exit', :onclick=>"javascript:$('step_commit').value='exit';" %>
</span>
<span style="float:right;">
<%=submit_tag 'Save and Continue', :name=>'continue', :onclick=>"javascript:$('step_commit').value='continue';" %>
</span>
奇怪的是它在舊的服務器上工作正常,但我們現在只是將它移動並停止。 – 2010-01-04 16:29:38
檢查您的提交輸入是否被命名爲提交,或者它的標籤將不會被髮送。
生成的HTML應該是:
<input type="submit" name="commit" label="...>
我遇到了同樣的問題,這裏的答案指出我正確的方向。但是,並非建議添加隱藏表單輸入或放棄雙重提交塊,您可以簡單地在雙提交塊中添加一個setTimeout函數,超時時間爲1毫秒,這使得雙提交塊可以在不阻止的情況下工作提交按鈕。
這只是我需要的解決方案。謝謝! – 2015-01-05 23:15:37
只需添加name: "commit", value: "Save"
到您的表單提交按鈕:
form_for @object do |f|
...
f.button :submit, "Save", name: "commit", value:"Save"
end
,然後你將有params[:commit]
等於"Save"
在控制器中。
- 1. 我可以通過按鈕在Rails 4中提交參數嗎?
- 2. 通過AJAX提交按鈕
- 3. 表單未按提交按鈕提交
- 4. 如何通過表單上的提交按鈕傳遞參數
- 5. 如何通過提交按鈕傳遞參數?
- 6. 通DataBinder的值通過提交按鈕
- 7. Rails:提交按鈕不提交值
- 8. Rails通過提交參數傳遞參數
- 9. Rails Submit按鈕不提交
- 10. Ruby on Rails提交按鈕
- 11. 窗體上按鈕提交只通過
- 12. 通過提交按鈕傳遞值?
- 13. 表單不通過JavaScript提交按鈕
- 14. 在Rails中禁用提交按鈕的URL參數?
- 15. 如何通過JQuery提交表單時點擊提交按鈕
- 16. 通過isset禁用提交按鈕並提交表格
- 17. 通過trigerring提交表單jQuery提交按鈕不起作用
- 18. 通過ajax表單提交防止默認提交按鈕
- 19. 通過點擊CSS按鈕提交/檢測提交表單
- 20. 通過父頁面提交按鈕提交iframe和父窗體
- 21. 通過AJAX通過單個提交按鈕提交多個HTML表單
- 22. 提交過早的按鈕
- 23. 自動提交形式提交按鈕參數
- 24. 彈簧形式:在提交按鈕上提交額外參數
- 25. 如何在mvc4中通過提交按鈕傳遞自定義參數
- 26. Rails fields_for未通過所有參數
- 27. 提交不提交按鈕
- 28. 提交按鈕不提交
- 29. 提交按鈕不提交
- 30. 提交按鈕不提交
您是否找到了解決方案?自從我使用我的網頁設計師更新我的模板後,我遇到了類似的問題。使用'基本'模板,全部是文件,但使用設計器(HTML有效)模板,我沒有提交提交值。 – 2010-01-05 12:13:47
在我的情況下,這是因爲實際提交表單之前有一個jQuery彈出窗口。 – 2010-01-05 14:04:49
感謝您的評論韋恩,這讓我感到這是爲什麼造成我的。就我而言,我們有一個通用的jQuery提交事件綁定,它禁用了提交按鈕(以避免雙重提交)。從這個表格中刪除固定的東西。 – chrisrbailey 2010-01-28 22:46:41