私は明らかなものを使用しています:
/*Place the file into the editing image */
$j("#file").change(function(e) {
type="upload";
submitChanges("preview");
});
submitChanges 関数は基本的に、送信 (非表示) をクリックしてフォームを送信します。フォームは AJAX フォーム プラグインで監視されます。提出物は正常に機能しており、問題とは無関係ですが、背景を説明するためにここにいます.
Firefox と IE8 ではすべて正常に動作します。ユーザーがファイルを選択すると、AJAX が実行します。ユーザーは [参照] をもう一度クリックして、新しいファイルまたは同じファイルを選択すると、変更が再度実行されます。
この問題は、Webkit ベースのブラウザー (Chrome および Safari) で、ユーザーが以前に選択したファイルとは異なるファイルを選択した場合にのみ変更イベントが発生します。これらのブラウザは変更を文字通りに解釈します。同じファイルが選択されたためにボックスが変更されなかったため、イベントは発生していません。どのファイルが選択されてもこのイベントが発生するという点で、IE と Firefox の機能を模倣したいと思います。
解決策はありますか?
要求された HTML:
<table border="0" style="width:100%">
<tbody>
<tr>
<td style="width:50%"><input id="preview" type="button" value="Preview"/></td>
<td><input type="button" id="save" value="Save" /></td>
</tr>
<tr>
<td style="width:50%">Upload (JPEG Only):</td>
<td><form id="uploadForm" class="upload" method="POST" enctype="multipart/form-data" action="/path/to/file.php?action=preview"><input type="file" name="file" id="file" /><input type="submit" id="uploadSubmit" style="display:none" /><div id="hiddenFields"><!-- JQUERY --></div></form></td>
</tr>
</tbody>
</table>