[英]How can i Save two different forms At the same time Using Jquery or Javascript?
我打算保存2个表单,但第一个表单是我获取第二个表单的外键的地方
这是我尝试使用Javascript进行保存
$("#btnSave").click(function (e) {
e.preventDefault();
$('#workForm').submit();
$('#contForm').submit();
});
但是它在控件中的“联系表单提交”上出错,因为在保存作为其外键的联系表单时,工作表单的ID仍然为空
我如何使用Jquery和Javascript处理此问题?
我也尝试过这种方法
$("#btnSave").click(function (e) {
e.preventDefault();
if (Id != 0) {
$('#workForm').submit();
$('#contForm').submit();
} else {
$('#workForm').submit(); }
});
但是它只能在其他地方使用,因为ID为null
我希望有人可以在这里帮助我
谢谢:D Worker地址是WorkForm Worker联系人是ContForm
当它们填充所有文本框时,我都想保存它们
这是我的AJAX建议的工作方式:
$.post("/form1.php", {
//form data here
}, function (data) { // get data to use in the second form
$.post("/form2.php", {
//form data here
}, function () {
});
});
但是,我与其他所有人都同意只使用一种表格。
您最初是如何提交表格的?
当然,您最需要使用AJAX。 对于每个ajax调用,您都可以指定响应处理程序功能。 当第一个AJAX调用的响应返回时,您可以使用AJAX启动第二个表单的保存。
现在,您实际上在AJAX调用中做了什么。 您应该使用诸如form2js或jquery序列化功能之类的插件将表单内容序列化为JSON。 然后使用$ .ajax进行发布(请注意:这与常规表单提交不同)。 在成功响应中,您需要确保服务器返回使用AJAX提交第二个表单所需的必要信息。 收到响应后,进行必要的UI更新,收集提交第二个表单所需的信息,对其进行序列化,然后使用另一个$ .ajax再次发送。
以下是一个粗略的代码结构。
function submitForms() {
var form1Contents = serialize_form1_to_json;
$.ajax({
url: form1_action_url,
type: "POST",
data: form1Contents
}).done(function (data) {
//data is the response of first form save from server. should contain the id you need for form 2
var form2Contents = serialize_form2_to_json;
set_id and any other details from form1 _on_form2
$.ajax({
url: form2_action_url,
type: "POST",
data: form2Contents
}).done(function(){
alert('both forms saved.');
});
});
}
注意:要提交的表单必须与包含表单的页面位于同一域。 由于安全问题,不允许跨域使用AJAX。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.