WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:BBSでのアップロード前の画像の確認で、

0:[投稿] いつき [2007/06/12 00:05 ] [環境:IE6 わからない]

アップロード出来る掲示板を使っています。
画像を選択するフォームのところに、
http://www.tryhp.net/dynamic02.htm
こちらの下から2番目の「画像アップロード」 という部分の JavaScript を導入してみました。
選択した画像をプレビューする機能がるのですが、画像以外のファイルを選択したとき、画像の表示が出来ずちょっと気持ち悪いのです。
画像(jpg gif png)以外のファイルを選択した時は何もしない、あるいは他に用意した画像を表示するように出来ないでしょうか?
その方法が判る方、教えていただけると幸いです。
よろしくお願いいたします。


1:[回答] もん [2007/06/12 03:26 ]

関数自体は動きますが、全体では試してません。

 function imgset() {
   var src=document.Myform.upload.value;
   var objid=document.getElementById('sampleimg');
   if(!src || src.match(/\.(jpg|gif|png)$/i) == 0) {
       alert("jpg, gif, png 以外のファイルが選択されています。");
       return false;
   }

   objid.src='file://'+document.Myform.upload.value;
 }


2:[質問] いつき [2007/06/12 11:48 ]

お返事有り難う御座います。
書いていただいたコードを貼り付けて試してみました。
ですが、思惑通りに上手く動いてくれませんでした。
それで解らないなりにいろいろいじってたら、
if(!src || src.match(/\.(jpg|gif|png)$/i) == 0) {
の部分を
if(!src || !src.match(/\.(jpg|gif|png)$/i) == 1) {
という風に変えてみたところ、思った通りに動きました。
プログラム系は詳しくないのですが、これでも大丈夫なのでしょうか?
それから、アラートは何となくドキっとするので、別画像を用意してその画像にテキストを書いて対応したいと思います。
そこで、
alert("jpg, gif, png 以外のファイルが選択されています。");
の行を、
objid.src='images/hoge.gif';
などとしてみたのですが、問題ないでしょうか?
一応、こちらも思った通りに動いてはいるようなのですが、理解が浅いのでかなり不安です。
何かおかしな事をしてるようならアドバイスをいただけると幸いです。


3:[回答] もん [2007/06/18 02:26 ]

> if(!src || !src.match(/\.(jpg|gif|png)$/i) == 1) {
でも動きますが、
if(!src || !src.match(/\.(jpg|gif|png)$/i)) {
のほうがよさそうです。0なのがまずかったです。
すいません。

> objid.src='images/hoge.gif';
> などとしてみたのですが、問題ないでしょうか?
問題ないです。


4:[完了] いつき [2007/06/18 21:40 ]

思い通りの動作になりました。
これで安心して運営できます。
ご回答有り難う御座いました。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]