我在模态对话框上有一个表单,需要填写并按“保存”将结果保存到数据库中。我使用以下代码打开表单,它是jQuery-ui对话框和jQuery .post()方法。在关闭和处理表单时,我不需要显示任何内容。
$('#cdialog').dialog({
autoOpen: false,
modal: true,
buttons: {
"Save": function() {
$.post('process.php', $("#cform").serialize());
$(this).dialog('close');
},
Cancel: function() {
$(this).dialog('close');
}
}
});
$('#cdialog').dialog('open');
这是process.php中的代码
$data = (object)array(
'map' => $_POST['map'],
'type' => $_POST['type'],
'name' => $_POST['name']
);
Concepts::save($data);
我在“保存”功能中使用alert($("#testform").serialize())
检查了实际传递的参数。检查Apache日志是否正在发送POST请求。但它仍然无法正常工作。如果我只运行php文件传递数组中的所有参数而不尝试获取$ _POST变量,则保存数据。我不明白为什么它不能在对话框中工作......
答案 0 :(得分:0)
我相信你有时间问题。请从
更改您的代码"Save": function() {
$.post('process.php', $("#cform").serialize());
$(this).dialog('close');
}
反映以下内容
"Save": function() {
$.post('process.php', $("#cform").serialize(), function () {
$('#cdialog').dialog('close');
});
}