【问题标题】:Alert doesn't appear when I click on the "Upload" button单击“上传”按钮时没有出现警报
【发布时间】:2012-04-13 12:31:31
【问题描述】:

我想执行一个简单的 javascript 验证,当用户单击表单中的提交按钮时,它将检查文件是“png”还是“gif”文件类型。如果文件类型正确,则显示加载栏并上传表单。如果文件类型不正确,则显示一个警告,说明文件类型不正确,但不显示加载栏,也不上传表单。

下面是代码,但是当我点击“上传”按钮时它没有显示警报。我需要做什么,当用户单击“上传”按钮时,如果文件类型不正确,则会出现警报并且不上传文件,如果文件类型正确,则显示加载栏并上传文件。

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;
}

【问题讨论】:

  • 语法高亮显示故事...在&lt;/form&gt;之后缺少结束引号
  • 抱歉,我的申请中没有遗漏引文,我在这个问题中发布它时一定不小心删除了它,但没有遗漏的引文。对此感到抱歉。

标签: javascript jquery


【解决方案1】:

你错过了第三行中的结束 ",这可能是原因。

【讨论】:

  • 抱歉,我的申请中没有遗漏引文,我在这个问题中发布它时一定不小心删除了它,但没有遗漏的引文。对此感到抱歉。
【解决方案2】:

你并没有阻止表单默认行为,所以当你提交它时,它就走了,它不关心 javascript 方面。

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

已编辑:抱歉您在提交时绑定,但您在提交时所做的只是在更改时绑定图像元素,您实际上并没有在提交时检查任何内容

【讨论】:

  • 我是不是把代码放错了地方,或者我需要做什么才能检查提交时的验证?
猜你喜欢
  • 2016-09-14
  • 1970-01-01
  • 2020-11-29
  • 2022-11-04
  • 2018-05-01
  • 2011-11-15
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
相关资源
最近更新 更多