使用表单中的Ajax脚本表示成功

时间:2011-05-10 14:45:16

标签: php jquery ajax codeigniter image-processing

我有一个表单,用于处理通过此ajax脚本发布的图像的大小。脚本和我的控制器工作正常。我的问题是,如何将成功消息附加到此jquery脚本?如果我使用常规$ .ajax()脚本,那将很容易。

我通过使用表格火炬为codeigniter获得了这个脚本,并想学习如何用它来表示成功。我觉得“功能(数据)”在那里表示失败,虽然我不明白这是怎么触发的。如果表单被提交为空,它无论如何都不起作用。

$(document).ready(function() {
$("#form").submit(function() {
    var image = $("#image").val(); 
    $.post("/post/process", { image:image },
    function(data){
        $("#image_error").html(data.image);
    },'json');
});
});//this comes from form torch

控制器是图像处理的标准内容 表格

<?=form_open("/post/process", 'onsubmit="return false;" id="form"')?>
<p>
<label for="image">Image</label>
<span id="image_error" class="error"></span>
<input type="text" name="image" id="image" />

我想在表单底部添加类似的内容

 <div id="success"></div>

感谢您阅读

2 个答案:

答案 0 :(得分:2)

就个人而言,我更喜欢$.ajax函数,因为它只为您提供了一个可用于所有AJAX调用的函数。此外,它允许您提供两个功能:一个在请求成功时执行,另一个在请求失败时执行。

根据文档(http://api.jquery.com/jQuery.post/),如果操作成功,$.post方法仅调用您指定的函数。

此外,如果您需要在用户执行任何其他操作之前让脚本等待成功或失败的指示,请考虑将$.ajax方法与async:false参数一起使用。

有几种方法可以实现您所描述的内容:一种方法是为传递给$.post的函数编写类似的内容:

function(data)
{
    $(document).append('<div id="succeed"></div>');
}

答案 1 :(得分:1)

如果我没弄错的话,你可以做类似的事情:

response = $.post(...);

响应可以保存成功和错误消息。 比,你可以使用if-condition检查它并写入你的div:

$("#success").html('your html')