0

もう一度質問です...それは私を何時間も夢中にさせています:-/

私の問題:

Web サイトにアップロード フォームがあり、アップロードは正常に機能します。しかし、ファイルのサイズによっては数秒かかることがあるため、アップロード中にユーザーにフィードバックを提供したいと考えています。

div に gif アニメーションのプログレス バーを表示し、javascript で表示することを考えました。試してみましたが、送信ボタンを押しても表示されません...そして onSubmit=".... return false;" を追加すると表示されません。アップロードがうまくいかない…

ここに私のコードがあります:

頭の中で:

<script type="text/javascript">
function showHide() {
var div = document.getElementById('progressBar');
if (div.style.display == 'none') {
 div.style.display = 'block';
}
else {
 div.style.display = 'none';
}
}
</script>

体:

 <div id="progressBar" style="display:none;height:40px;width:250px;margin:0px auto;">
 <img src="img/progressbar.gif" alt="Progress Bar">
 </div> 


 <form name="photo" id="upload_big" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post" onsubmit="showHide();">
 <input class="linkinput" type="file" name="image" size="20"/>
 <input type="submit" name="upload" id="uploadbutton" value="Upload image"/>

助けていただければ幸いです...そして私は新人なので、判断するのではなく、良くなるように助けてください;-)

ありがとうございます!

4

2 に答える 2

0

jQueryを使用します。

$(function() {
   $('#upload_big').submit(function() {
      showHide();
   });
});

場合によっては、フォームの送信によって、ページに JavaScript 機能をキャストできなくなることがあります。安全のために、フォーム送信イベントではなく、<input type="submit">クリックに基づく機能も使用する必要があります。

$(function() {
   $('input#uploadbutton').click(function(e) {
      showHide();
      e.preventDefault();
   });
});
于 2013-01-12T15:22:15.070 に答える
0

これは、送信イベントがトリガーされたときに、ブラウザーが既にフォームを送信しており、別のページに移動するためです。

于 2013-01-12T15:25:47.763 に答える