0 レビュー
1 回答
php-jQueryを使用してファイルを出力画面に送信します
フォームがあります:(短縮バージョン)
<form class="form-inline" id="parts-form" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="import-parts">Import:</label>
<input type="file" id="import-parts" />
</div>
</form>
他の入力(テキスト/選択のみ)-送信は正常に機能しますが、ファイルがあるかどうか、または入力がX量を満たしているかどうかを検出するjQueryがあります:
if ($('#import-parts')[0].files[0]) {
form.attr('action', parts_url+ 'output-screen.php');
form.submit()
} else {
if (i > 0) {
form.attr('action', parts_url+ 'output-screen.php');
form.submit()
} else {
alert('Error! You must have at least one part selected. Please try again.')
}
}
条件は真です(output-screen.phpに移動するので、これを知っています)が、次のことを行っています:
<div class="row">
<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
echo '<pre>';
print_r($_FILES);
echo '</pre>';
?>
</div>
in output-screen.phpは空の配列を返します-私のコードの何が問題になっていますか?なぜ私が期待しているものが表示されないのですか? jQueryの.submit()
に、私が知らない何かが欠けていませんか?
編集:
さらに明確にするために、これはcsvファイルです(CSVを読み取り、その中のデータを使用することを目的としています)
わからない
0
レビュー
答え :
解決策:
それはばかげた問題でした-フォーム入力にはname
属性が必要です。
ref: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#Attributes
入力の修正:
動作し、 $_FILES
を使用してデータを表示できるようになりました。私を正しい方向に導いてくれた@kerbholzに感謝します。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。