上传后立即显示图像

时间:2014-06-02 18:38:35

标签: javascript jquery ajax image

我希望在上传后立即显示图像。为此,我在ajax的$('#imageInput').on('change', function())函数中添加了函数.success(),但它不起作用。 alert("good")弹出"好"但是alert("better")不会弹出更好的"。

任何想法如何实现这一目标?

JS:

function afterSuccess(data)
{

    if(data.indexOf('error')<0)
    {  alert ("good");
      $('#imageInput').on('change', function() {
            alert ("better");
            readPath(this);
            });  

    }
}

2 个答案:

答案 0 :(得分:2)

$('#imageInput').on('change', function() {...});事件未触发,因为选择文件时(上传前)上传字段会更改。上传文件时,该字段不会更改。

更新:关于你的后续问题(见下面的评论),请考虑这样的事情,其中​​data数组可能会因php脚本返回的内容而异,插入方法可能会有所不同,具体取决于在您的HTML布局上(在这种情况下,我假设您将插入一个元素:

function afterSuccess(data)
{
  if(data.indexOf('error')<0)
   {
          var filepath = data['filepath'];
          $("#imageContainer").html("<img src="+filepath+"/>");
   } else {
       alert('Sorry, but an error occurred while uploading the image. Please try again');
   }
}

答案 1 :(得分:0)

如果正确返回文件名和路径,可能会显示它吗?:

function afterSuccess(data)
{
  if(data.indexOf('error')<0)
    {  
          $("#desiredDiv").html("<img src="+path+"/>");
    }
}