function ajax_form(form_obj){
form_obj.submit(function(event) {
// HTMLでの送信をキャンセル
event.preventDefault();
// 操作対象のフォーム要素を取得
var $form = $(this);
// 送信ボタンを取得
var $button = $form.find('button');
// 送信
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: $form.serialize(),
timeout: 10000, // 単位はミリ秒
// 送信前
beforeSend: function(xhr, settings) {
// ボタンを無効化し、二重送信を防止
$button.attr('disabled', true);
},
// 応答後
complete: function(xhr, textStatus) {
// ボタンを有効化し、再送信を許可
$button.attr('disabled', false);
},
success: function(data, text_status){
$(".article_table_contents").html(data);
$(".article_table_contents [type=checkbox]").prop("checked",true);
}
});
});
}
想在页面不刷新的情况下刷新table,所以我把页面分为index 和 partial
然后用上面的js代码ajax触发form的submit, 请求完成后只render partial
render(:partial => "vm_results/table")
success后 再把接受到的更新后的table的html塞回 table内
$(".article_table_contents").html(data);
不知还有其他做法么