1
我有一個form_for(:remote=>true)
工作,但我想在提交前顯示一個常規的JavaScript確認框。取消提交軌道遙控form_for
無論如何要實現這一目標嗎? 理想情況下某種:之前或:onsubmit會接受取消提交類似於:return confirm("Are you sure?");
或可能是一個javascript事件掛鉤?
謝謝
我有一個form_for(:remote=>true)
工作,但我想在提交前顯示一個常規的JavaScript確認框。取消提交軌道遙控form_for
無論如何要實現這一目標嗎? 理想情況下某種:之前或:onsubmit會接受取消提交類似於:return confirm("Are you sure?");
或可能是一個javascript事件掛鉤?
謝謝
你可以用the confirm
option很容易地做到這一點:
<%= for_form @my_thing, remote: true do |f| %>
<%= f.text_field :my_value %>
<%= f.submit 'Submit', confirm: 'Are you sure?' %>
<% end %>
您需要使用此一Rails UJS driver(默認情況下在新的Rails項目啓用)無縫地工作。
也有hooks into the form submission lifecycle you can access如果你願意的話:
ajax:beforeSend
- 觸發XHR請求前;返回false就取消該請求ajax:success
- 觸發來自服務器ajax:error
成功的響應 - 觸發來自服務器的錯誤響應ajax:complete
- 觸發無論是從服務器成功或錯誤響應所以,作爲一個例子,你應該能夠模仿一些像這樣的代碼的形式confirm
輔助選項:
$("#my_remote_form").on('ajax:beforeSend', function() {
return confirm("Are you sure?");
});