まず第一に、私の問題を解決するために jQuery プラグインに頼らないようにお願いしたいと思います。アプリをプラグインで動作させたくないだけです (そして、学習の妨げになります!)
jQuery を使用してバックエンドに渡す一連のフィールドを含むフォームがあります。$.post()
これは、jQuery 関数として持っているものです。
$.post(
"/item/edit",
$("#form").serialize(),
function(responseJSON) {
console.log(responseJSON);
},
"html"
);
これは私がフォームを開いた方法です:
<form action="http://localhost/item/edit" method="post" accept-charset="utf-8" class="form-horizontal" enctype="multipart/form-data">
これは codeigniter のform_open()
メソッドによって自動生成されたものです (したがって、 action="" に値があるのはなぜですか。ただし、フォームの最後に送信ボタンがないため、これは問題ではありません)
私の#form
中には、ファイル入力としてこれがあります:<input type="file" name="pImage" />
適切なボタンが押されて$.post()
メソッドが呼び出されると、バックエンドに次のように変数をprint_r($_POST)
出力させます。出力された変数には、「pImage」要素がありません。ファイルが配列の要素として表示されないのではないかと考えたので、先に進み、この codeigniter 関数を使用してファイルをアップロードしようとしました$this->upload->do_upload('pImage');
。「アップロードするファイルが選択されていません」というエラーが表示されます。
この問題をどのように克服できるかについてのアイデアはありますか?