javascript
  • jquery
  • 2012-04-13 48 views 0 likes 
    0

    我存储在JavaScript变量下面的表单功能:我在哪里可以把下面的验证

    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> 
    

    现在你可以看到当在提交用户点击按钮,提交到“startImageUpload”函数低于:

    function startImageUpload(imageuploadform){ 
        $(imageuploadform).find('.imagef1_upload_process').css('visibility','visible'); 
        $(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden'); 
        sourceImageForm = imageuploadform; 
         return true; 
    } 
    

    它的作用是,当用户点击提交,它会显示一个加载的酒吧和上传的形式。

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

    下面是验证,但我的问题是我在哪里放置的代码,以便当用户点击“上传”按钮,如果不正确的文件类型然后警报出现,它不会上传文件,如果文件类型是正确的,然后它显示加载栏和上传文件。

    $(".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; 
        } 
    }); 
    

    回答

    0

    你不能只是把你的startImageUpload验证码,如果验证失败,设置你想要的任何错误域,并返回false?

    +0

    我会尝试这一点,并尽快给您:) – user1324106 2012-04-13 01:17:29

    +0

    您好,我把我更新的代码在我的问题的底部。问题在于警报根本没有出现。我做错了什么,我的代码是否遵循你所说的? – user1324106 2012-04-13 01:25:26

    0

    你必须找出,为什么你没有得到alert()

    首先,检查你的val

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

    这可能已经给你一个提示,如果有与核心价值的问题。

    其次,请检查您是否正在进入switch

    switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase()){ 
        alert('In the switch...'); 
        ... 
    } 
    

    你能检查什么val.substring(val.lastIndexOf('.') + 1).toLowerCase()回报?

    希望帮助...

    相关问题