1

ユーザーがフォームの送信ボタンをクリックすると、ファイルが「png」または「gif」のいずれかのファイルタイプであるかどうかを確認する簡単なJavaScript検証を実行したいと思います。正しいファイルタイプの場合は、読み込みバーを表示してフォームをアップロードします。ファイルタイプが正しくない場合は、ファイルタイプが正しくないことを示すアラートを表示しますが、読み込みバーを表示せず、フォームをアップロードしません。

以下はコードですが、「アップロード」ボタンをクリックしてもアラートが表示されません。ユーザーが[アップロード]ボタンをクリックしたときに、ファイルタイプが正しくない場合はアラートが表示され、ファイルはアップロードされません。ファイルタイプが正しい場合は、読み込みバーが表示され、ファイルがアップロードされます。

var sourceImageForm;

var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='startImageUpload(this);' class='imageuploadform' >" + 
"<label> Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/>" +
"<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label></form>");

function startImageUpload(imageuploadform){

    $(".imageFile").change(function() {

    var val = $(this).val();

    switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase()){
        case 'gif': case 'jpg': case 'png':
        return true;
            break;
        default:
            $(this).val('');
            alert("not an image");
            return false;
            break;
    }
});

  $(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
  $(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
  sourceImageForm = imageuploadform;

      return true;
}
4

2 に答える 2

0

3 行目の終わりが抜けています"。それが原因かもしれません。

于 2012-04-13T12:33:30.200 に答える
0

フォームのデフォルトの動作を妨げていないため、フォームを送信すると、javascript 側は気にしません。

$('form').submit(function(ev) {
// do your stuff here and return true to submit it or false to stop it
})

EDITED:送信時にバインドして申し訳ありませんが、送信が押されたときに行うことは、変更時に画像要素をバインドすることだけです。送信時に実際には何もチェックしません

于 2012-04-13T12:35:36.427 に答える