IE以外のすべてのブラウザでフォームが動作する問題があります。送信ボタンにスクリプトを入力すると、Internet Explorerがフォームをポストバックしません。
私は問題をまだ解決していない最小限に抑えました。
私はこのようになりますテストのhtmlファイルを作成している:私はここで何をしようとしている
<html>
<body>
<form id="myform" action="/" method="post" enctype="multipart/form-data">
<input id="fileToUpload" type="file" size="10" name="fileToUpload" />
<input id="mysubmit" type="submit" value="submit"/>
</form>
<script src="jquery-1.5.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
*$("#mysubmit").click(function(){
*$("#fileToUpload").click();
*});
});
</script>
</body>
</html>
ボタンが最初のファイル選択ボックスを開き、[フォームを送信提出することです。なぜなら、ユーザーがボタンをクリックし、ダイアログからファイルを選択し、フォームを直ちにポストバックできるように、ファイルセレクタを非表示にしたいからです。
FirefoxとChromeは、$("#fileToUpload").click();
の後でスクリプトを続行する前にファイル選択ダイアログが閉じるのを待たず、インターネットエクスプローラが閉じられるまで待ってから続行するため、もう少し複雑です。しかし、私はそれを扱うことができます。
しかし、この場合、IEはフォームのポストバックをまったく実行しません。上記のという接頭辞が付いたという行を削除すると、IEもそれを返信します。私もそこに最後に$("#myform").submit();
を置こうとしましたが、私はそれにも運がありませんでした。ポストバックはありません。
誰かがこれを解決する手がかりを持っていますか?
内側に配置する必要があります私はChrome/FF/IE8で同じ結果を得ているからです。これはIEのどのバージョンですか? – JackWilson
IEにJSエラーがありますか?私はChrome/IE9でも同じ結果を持っています –
@SimonEdström - いいえ、スクリプトエラーはIE(またはChromeについては問題ありません)には表示されません。 –