【发布时间】:2013-03-14 03:20:16
【问题描述】:
所以,这是我遇到的问题:我正在尝试使用 jQuery 和 ajaxForm(表单插件)提交表单。但是,当我单击提交按钮时,我没有得到任何响应(也没有错误)。表单上有必填字段,我目前期望的响应是一个警报,通知我缺少一个(或多个)必填字段,并详细说明哪些字段需要数据才能成功填写表单。
该应用程序是在 CodeIgniter 中构建的,这就是表单操作看起来如此的原因。
这是我的 jQuery 代码:
$(function () {
$("#div_id").dialog({
autoOpen: false,
closeOnEscape: true,
modal: true,
width: 600,
title: "A Title",
buttons: {
"SUBMIT": function() {
$("#form_id").ajaxForm({
dataType: "json",
success: function(response) {
response = $.parseJSON(response);
alert(response['message']);
}
});
},
"CANCEL": function() {
// Some clean up here
$("#div_id").dialog("close");
}
},
close: function() {
// Some clean up here
$("#div_id").dialog("close");
}
});
});
这是表单标签:
<form method="post" id="form_id" action="/controller/function">
另外,我在 ajaxForm 插件中正确链接。所以,这个问题并不存在。我仍在学习 jQuery,任何帮助表示赞赏。我也一直在查看http://www.malsup.com/jquery/form/ 和 jQuery 文档,但没有找到答案。
提前谢谢你!
【问题讨论】:
-
您是否收到任何控制台错误?是否可以直接调用表单操作以确保 ci-controller 和 route 正常工作?编辑:也许 action="controller/function" 会有所帮助。只是猜测,因为我不知道您的确切路线/控制器设置
-
遗憾的是,我根本没有收到控制台错误。我的 CI 路由只是默认设置。此表单基于执行相同功能的现有工作表单,如果我可以使其正常工作,它将被替换。如果我必须刷新页面也没关系。主要是,我希望使表格“粘性”。如果我使用您调用 redirect('/controller', 'refresh') 的常用 CI 代码,那么我可以通过强制 Javascript 验证所有必填字段是否已输入数据来使其工作。然后,如果他们这样做了,请提交表单,对其进行处理,然后重定向到原始页面。
-
但是,我确实需要弄清楚这一点,因为有些表单需要在不刷新页面的情况下提交。