0

如果标题描述性不够,请见谅!

这个想法是有一个 div 弹出窗口并允许用户输入他们的反馈并可能提交屏幕截图。

这是页面内的 javascript(通过 ajax 调用到 div 中)。

Javascript

$("#submitFeedback").click(function(){
  //Check if the form is valid
  if($("#form").valid()){
    $("#form").hide(); //Hide the form
    $("#feedbackReport").append("<h2 style='color:white'>Submitting!</h2><hr />" +
      "<div style='text-align: center'><img src='images/loader.gif' /></div>");//Display loading spinner
    $.ajax({  
      type: "POST",  
      url: "ajax/submit_feedback.php",
      cache: false,
      data: $("#form").serialize(),//serialize form for submission
      success: function(data) {
        $("#feedbackReport").empty();//Clear form after submission
        $("#feedbackReport").append("<h2>Thank you!</h2><span id='close'>&#10006;</span><hr />"
          +"Your feedback has been submitted successfully!"
          +"<br /><br /><span id='cancel'>Close</span>");
        $("#cancel,#close").click(function(){
          $("#feedbackReport").parent().hide();
        });
      }
    });
    return false;//Prevent page from changing
  }
});

现在,如果将我的浏览器指向实际的 ajax 页面 (ajax/feedback.php) 并提交图像,它就可以正常工作了!当我从 index.php 运行它并通过 ajax 调用反馈窗口时,它不会提交我的图片,只有文本。

我知道我的 submit_feedback.php 页面因此工作正常,我只是不知道为什么它不能正确发布图像。

任何提示或帮助将不胜感激!

4

2 回答 2

2

Ajax 不能进行文件上传。您必须使用不同的东西,例如https://github.com/valums/file-uploader

于 2012-11-29T17:44:06.683 回答
-1

Ajax 不允许文件上传,但巧妙的技巧是使用 iframe 保存文件上传表单并在选择文件时自动提交。

这样,只有 iframe 被重定向,它给人一种 ajax 的感觉。

在这里阅读更多

于 2012-11-29T17:48:48.027 回答