- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
来自File upload with jQuery and CodeIgniter (But no page refresh)
@cbrandolino 建议我使用 jQuery 表单插件来解决我的问题。它工作得很好,除了一个问题,回调函数没有像我预期的那样触发。
这是我修改后的代码
++ Javascript++
$('#send_button').live('click', function(){
var options = {
url: 'formHandle/add',
success: function(){
alert('something');
}
//I tried both function() or function(data)
//or a function created outside $(document).ready()
//None of them works
};
$('#new_entry_form').ajaxSubmit(options);
})
++ Controller ++
function add(){
$array = array(
'title' => $this->input->post('title'),
'description' => $this->input->post('description'),
'content' => $this->input->post('content'),
'start' => $this->input->post('start'),
'due' => $this->input->post('due'),
'price' => $this->input->post('price'),
'promotion_price' => $this->input->post('promotion_price'),
'website' => $this->input->post('website'),
'author' => $this->input->post('author'),
);
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['overwrite'] = false;
$config['remove_spaces'] = true;
$config['encrypt_name'] = true;
$this->load->library('upload', $config);
if($this->upload->do_upload('picture')){
$array['picture'] = $this->upload->file_name;
$this->load->model('entry_model');
$this->entry_model->insertEntry($array);
echo 'true';
//I tried $this->load->view, echo or return
//none of them works
}else{
echo 'false';
}
}
文件上传正常,文件已上传到特定文件夹。
数据插入工作正常,数据已按预期插入到数据库中。
我遇到的唯一问题是回调函数。
您知道如何解决这个问题吗?我需要显示数据插入的结果。
更新:
添加 return false 对我没有任何帮助。还是不行
最佳答案
在选项里写回调函数,写清楚here
$(document).ready(function() {
var options = {
target: '#output2',
success: showResponse // post-submit callback
};
// bind to the form's submit event
$('#myForm2').submit(function() {
// inside event callbacks 'this' is the DOM element so we first
// wrap it in a jQuery object and then invoke ajaxSubmit
$(this).ajaxSubmit(options);
// !!! Important !!!
// always return false to prevent standard browser submit and page navigation
return false;
});
});
function showResponse(responseText, statusText, xhr, $form) {
// for normal html responses, the first argument to the success callback
// is the XMLHttpRequest object's responseText property
// if the ajaxSubmit method was passed an Options Object with the dataType
// property set to 'xml' then the first argument to the success callback
// is the XMLHttpRequest object's responseXML property
// if the ajaxSubmit method was passed an Options Object with the dataType
// property set to 'json' then the first argument to the success callback
// is the json data object returned by the server
alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +
'\n\nThe output div should have already been updated with the responseText.');
}
关于jquery - ajaxSubmit 的回调函数不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6094663/
我有以下代码: $('#refresh').click(function () { alert($('.report-container').length); $('.report-c
我使用的是rails 3.1.3、jquery.form.js 版本2.9.4 和jquery 1.7.1。我在 jquery.form.js 中放置了一些控制台打印语句,这样我就可以(在 fireb
来自File upload with jQuery and CodeIgniter (But no page refresh) @cbrandolino 建议我使用 jQuery 表单插件来解决我的问
我使用 ajaxSubmit 提交表单,并想测试事件返回错误的情况。 var options = { beforeSubmit: showRequest, // pre-submit c
我正在尝试使用 jquery 验证插件来验证表单并通过 ajax 请求提交内容。 此代码位于我的文档的头部。 $(document).ready(function() { $('#conta
我正在尝试访问从 ajaxSubmit 请求返回的数据。 $("#searchbutton").on('click', function() { $("#searchform
我有一个文件上传表单,我想使用 JQuery Form 通过 Ajax/iframe 提交。当它很简单时我可以使用它,但是现在我添加了更多内容,它就不起作用了。 我的表单已设置为当您单击字段标签时,会
我正在使用 JQuery 表单扩展通过 AJAX 提交表单。我有以下代码: var options = { beforeSubmit: showRequest, // pre-submit
我正在尝试为我的 Magento 商店之一运行以下 Jquery ajaxSubmit。我使用 ajaxSubmit 是因为我还需要从表单上传 2 个文件(意味着我需要 $_FILE 中的数据)。但是
我正在使用 Jquery 表单插件来提交这样的表单数据。 $('#AddLocalImageForm').ajaxSubmit({ beforeSubm
我正在使用 jquery.form.js 和 ajax 来提交我的表单。我遇到的问题是,即使它没有成功(出现错误时),ajax 也会重置表单,无论它是否在代码中,只是在成功后才执行。 代码如下: $
我只能在页面正文中插入我的代码。我需要通过 Ajax 提交表单并将字符串发送到服务器应用程序。所以我使用 jQuery 表单插件。这是我尝试添加的代码: You can left your
我正在遵循 jquery form plugin 中的示例将图像异步上传到我的服务器。我只有一个按钮“添加照片”,按下该按钮即可选择一张照片。然后发送到我的服务器以保存图像并刷新缩略图库中的下面的图像
我对这个 jquery 表单验证 ajaxSubmit() 感到非常沮丧; 在chrome中,它似乎甚至没有点击submitHandler就默默地失败了,firefox确实如此,但仍然继续到actio
我有一些代码可以一次在我的页面上提交多个表单: $('.photo-edit-form form').ajaxSubmit({ success: function() { console.l
当我 ajaxSubmit 表单时,该服务返回一个数字。由于某种原因,ajaxSubmit 似乎添加了一堆标签。 form.ajaxSubmit(function(data){
我有下面的代码。 $('body').on('submit', '.some-form', function (event) { $(this).ajaxSubmit({ da
我有一个关于 ajaxSubmit 的问题...问题是,当我提交一个表单并从 PHP 得到一个响应时,该响应有一个带有 window.location 的脚本,页面没有改变完全... 当正确提交表单时
不知何故 ajaxSubmit 和 ajaxForm 起到了同样的作用。如果是这样,那么它们之间有什么显着差异吗?如果是这样;使用哪个,何时以及为什么? 最佳答案 FAQ reads : What i
我正在创建一个具有页面编辑部分的 CMS。我正在尝试创建一个预览功能。第一次尝试时效果很好,但如果您随后更改一些文本并再次预览,则预览是旧版本。它也出现得很快。就好像 ajaxSubmit 函数不会费
我是一名优秀的程序员,十分优秀!