我有一個form_for @object有兩個按鈕。Rails窗體與ajax和非ajax按鈕
第一個按鈕呈現「顯示動作」時,第二個按鈕再次呈現相同的形式。所以我希望後者是ajax處理的。
是否有可能有一個非ajax按鈕和ajax按鈕在同一形式或我必須改變策略?
也許我需要一個form_for with'remote:true',以便這兩個按鈕都是ajax,但是,那麼我將如何管理第一個按鈕來呈現正確的'show view'?
或者唯一真正的解決方案是有兩種不同的形式?
謝謝。
我有一個form_for @object有兩個按鈕。Rails窗體與ajax和非ajax按鈕
第一個按鈕呈現「顯示動作」時,第二個按鈕再次呈現相同的形式。所以我希望後者是ajax處理的。
是否有可能有一個非ajax按鈕和ajax按鈕在同一形式或我必須改變策略?
也許我需要一個form_for with'remote:true',以便這兩個按鈕都是ajax,但是,那麼我將如何管理第一個按鈕來呈現正確的'show view'?
或者唯一真正的解決方案是有兩種不同的形式?
謝謝。
您可以嘗試掛鉤按鈕onClick
事件,刪除data-remote="true"
屬性,提交表單並再次添加data-remote="true"
。我不知道這是否是最好的方式,但它應該起作用。
function sendWithoutAjax() {
$('my_form_id').removeAttr("data-remote");
$('my_form_id').submit();
$('my_form_id').data("remote", "true");
}
事情是這樣的......
我認爲最簡單的方法是使用jQuery Form插件。然後,你可以創建表格提交到你的非Ajax動作,而Ajax功能將附着在提交按鈕本身:
$(".ajax_submit_button").click(function() {
$(this).closest("form").ajaxSubmit({
// options go here
...
});
return false;
});
問題的是:如果提交按鈕實際上是一個''用一個值(提交消息),使用form.submit()不會傳遞被點擊的按鈕的輸入提交消息。 – 2015-10-05 16:55:02