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 に答える