需要一点背景来解释这一点:我有一个旧的 rails 2 应用程序,它有一个模态表单。当我提交此表单时,它应该更新数据库并关闭模式。生成的表格看起来像这样..> <form action="/assignments/doattendance/767107" id="modalForm_767107"> method="post" onsubmit="jQuery('.modal-backdrop').fadeOut(200,> function(){jQuery(this).remove();});; new> Ajax.Updater('Assignment_767107', '/assignments/doattendance/767107',> {asynchronous:true, evalScripts:true,> parameters:Form.serialize(this)}); return false;">如果您仔细观察,您会在此表单上看到一个原型 Ajax 调用。remote_form_for这是由erb 文件中的 rails 调用生成的。现在。由于“原因”,我不能在显示此表单的第二页上使用 remote_form_for,并且需要使用<form id="monthForm>标签在 Rails 之外正常构建表单。但我需要这个原型 Ajax。我安装了 jQuery,它正在网站上运行。所以...我有一些原型代码需要转换为 jquery。但我一直遇到“.ajax 不是函数”错误...原型代码:> new Ajax.Updater('Assignment_767107',> '/assignments/doattendance/767107', {asynchronous:true,> evalScripts:true, parameters:Form.serialize(this)});如何将上面的原型代码转换为我的表单的 JQUERY?我在这里读过一个类似的问题......Jquery 中的 Ajax.updater 等价物是什么?...关于 StackOverflow 上的这个主题,并根据该答案构建了这个...jQuery('#monthForm').submit(function(event){ event.preventDefault(); jQuery.ajax({ url: '/assignments/doattendance/'+myValue.id, type: "post", dataType: "html", data: {"Form.serialize(this)" : "Assignment_"+myValue.id}, success: function(returnData){ jQuery("#Assignment_767107").html(returnData); }, error: function(e){ alert(e); } }) })同样,ajax 应该附加到的表单是这个......<form id="monthForm">...</form>但是......我一直一无所获,我做错了什么?
2 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
你要
$("#monthForm").on("submit",function(e) {
e.preventDefault(); // stop the actual submission
const data = $(this)-serialize()+"&Assignment_"+myValue.id; // or similar
$.ajax({
url: '/assignments/doattendance/'+myValue.id,
type: "post",
dataType: "html",
data: data ,
success: function(returnData){
$("Assignment_"+myValue.id).html(returnData);
},
error: function(e){
alert(e);
}
})
})
添加回答
举报
0/150
提交
取消