`
fen5251
  • 浏览: 21072 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

FormData,ajaxSubmit,ajaxForm上传图片兼容

阅读更多
<html>
<head>
<script src="/js/jquery-2.0.3.min.js"></script>
<script src="/js/jquery.ajaxform.js"></script>
</head>
<body>
<form name="form" action="upload" method="POST" id="userForm" enctype="multipart/form-data">
    <div class="wrap">
        <div class="album-old">
            <div class="upload-btn btn-old"><input type="file" name="file" accept="image/*" id="image1" capture="camera"></div>
            <div class="upload-img "></div>
        </div>
        <div class="submit" style="margin-top: 200px;">提交</div>
    </div>
</form>
</body>
<script type="text/javascript">
    $(function(){
//        $(".submit").on(
//                "click",function() {
//                    var fileObj = document.getElementById("image1").files[0];
//                    var formData = new FormData();
//
//                    formData.append("file",fileObj);
//                    var xhr = new XMLHttpRequest();
//
//                    xhr.open("post","/Api/News/upload",true);
//                    xhr.send(formData);
//
//                    xhr.onload = function(e){
//                        if (this.status == 200) {
//                            window.alert(this.responseText);
//                        }
//                    }
//                })
$(".submit").on("click",function() {
            userBrowser();
        });
    });
    function userBrowser(){
        var browserName=navigator.userAgent.toLowerCase();
        if(/msie/i.test(browserName) && !/opera/.test(browserName)){
            $("#userForm").ajaxSubmit(function(data){alert(data.fileurl);});
            return ;
        }else if(/firefox/i.test(browserName)){
            $("#userForm").ajaxSubmit(function(data){alert(data.fileurl);});
            return ;
        }else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){
            $("#userForm").ajaxSubmit(function(data){alert(data.fileurl);});
            return ;
        }else if(/opera/i.test(browserName)){
            $("#userForm").ajaxSubmit(function(data){alert(data.fileurl);});
            return ;
        }else if(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){
            $("#userForm").ajaxSubmit(function(data){alert(data.fileurl);});
            return ;
        }else{
            $("#userForm").ajaxSubmit(function(data){alert(data.fileurl);});
        }
    }
    function test()
    {
        alert(navigator.userAgent.toLowerCase().indexOf("MSIE"));
        if(navigator.userAgent.indexOf("MSIE")>0)
            $("#userForm").ajaxSubmit(function(data){alert(data);});
        else  $("#userForm").ajaxForm(function(data){alert(data);});


    }
</html>


注:FormData IE8兼容问题
分享到:
评论

相关推荐

    ajaxForm异步提交表单(含图片)

    4. **处理图片上传**:由于ajaxForm支持File API,我们可以轻松处理图片上传。在beforeSubmit回调中,可以使用`FormData`对象来添加文件: ```javascript var formData = new FormData(); formData.append('image...

    ajaxForm中文文档

    在调用`ajaxForm`或`ajaxSubmit`时,你可以传递一个Options对象,定制Ajax请求的行为。Options包括但不限于: - `beforeSubmit`: 提交前的回调函数,可以进行数据验证或预处理。 - `success`: 请求成功后的回调函数...

    使用ajaxSubmit文件实现多文件的异步上传

    `ajaxSubmit`是jQuery Form Plugin的一部分,它允许我们使用Ajax技术实现表单的异步提交,包括多文件上传。这种方式不仅可以提高用户体验,因为用户无需等待页面刷新,还能有效管理服务器资源,避免一次性处理大量...

    【Demo Project】ajaxSubmit+Servlet表单文件上传和下载

    AjaxSubmit是jQuery Form插件中的一个方法,它允许我们在不刷新整个页面的情况下,通过AJAX方式提交表单,包括文件在内的所有数据。这种方式避免了页面的闪烁和跳转,提高了用户交互性。 二、Servlet在文件上传中的...

    ajax无刷新上传图片

    **Ajax无刷新上传图片技术详解** 在Web开发中,用户经常需要上传文件,尤其是图片,而传统的文件上传方式会刷新整个页面,导致用户体验不佳。Ajax无刷新上传图片技术的出现,解决了这一问题,实现了在不刷新页面的...

    JQuery.form表单提交参数详解.txt

    ### JQuery Form 插件中的 `ajaxForm()` 和 `ajaxSubmit()` 方法详解 #### 一、引言 在 Web 开发中,使用 AJAX 进行异步表单提交是一种常见的技术手段,它允许开发者无需重新加载整个页面即可提交数据并接收响应...

    利用AjaxSubmit()方法实现Form提交表单后回调功能

    在实际应用中,比如文件上传、表单验证等场景,AjaxSubmit()方法显得尤为实用。 1. **引入依赖** 使用AjaxSubmit()首先需要在HTML页面中引入jQuery库和jQuery Form插件。你可以通过以下方式引入: ```html ...

    Ajax 上传图片 前台后台都有 代码简单易懂 总共加起来不到80行

    ### Ajax 上传图片知识点解析 #### 一、Ajax 上传图片概述 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。利用Ajax技术进行图片上传,可以实现用户在上...

    .ajaxSubmit方式提交所需要的 jquery-migrate-1.2.1.js 和 ajax.js

    4. **上传头像与上传文件**: 标签中提到了“上传头像”和“上传文件”,这表明这个功能可能涉及到用户上传个人图片作为头像,或者上传其他类型的文件。在使用Ajax提交时,通常需要处理文件上传,因为文件是二进制...

    jquery_form_js 表单提交自定义源码

    在`jquery.form.js`中,首先定义了$.fn.extend方法,将$.ajaxForm和$.ajaxSubmit两个主要功能方法添加到jQuery对象上,使得用户可以通过`$(form).ajaxForm()`或`$(form).ajaxSubmit()`进行调用。 2. AjaxForm方法 ...

    jquery.form.zip

    《jQuery Form插件在IE8中的兼容性及文件上传应用详解》 在Web开发中,JavaScript库jQuery以其简洁的API和强大的功能深受开发者喜爱。在处理表单提交和文件上传时,jQuery Form插件(jquery.form.js)为开发者提供...

    jquery上传后回显

    使用`$.ajax`或`$("#formId").ajaxSubmit`(来自`jquery.form.js`)来实现异步上传。这里假设有一个名为`upload.jsp`的后端页面处理图片上传: ```javascript $("#uploadImage").change(function() { var formData...

    详解Ajax和form+iframe 实现文件上传的方法(两种方式)

    在Web开发过程中,文件上传是一项常见的功能需求...Ajax方式提供了更强大的功能和更灵活的交互,而form+iframe则在兼容性和稳定性上有所优势。在实际开发中,可以根据应用的具体需求和环境选择合适的文件上传实现方法。

    jquery.form.js

    3. **初始化插件**:使用jQuery选择器选取表单,然后调用`$.ajaxForm`或`$.fn.form`方法进行初始化。 ```javascript $('#myForm').ajaxForm({ beforeSubmit: function(arr, form, options) { // 预提交操作,如...

    jqueryformjs实现将form提交转为ajax方式提交的方法.docx

    ### 使用jQuery Form插件将表单提交转换为Ajax提交 #### 概述 本文档将详细介绍如何使用jQuery Form插件将HTML表单的提交过程转换为Ajax方式提交,从而实现无需刷新页面即可提交数据到服务器的功能。这种方法可以...

    解决jquery submit()提交表单提示:f[s] is not a function

    - 错误的情况:如果在异步操作(如Ajax请求)中处理表单提交,可能会出现此错误,因为页面状态在回调函数执行时可能已改变。 - 解决方案:确保在异步操作的回调函数中正确处理表单提交,或者使用`event....

    jquery-form

    然后,通过`.ajaxForm()`或`.ajaxSubmit()`方法绑定到表单元素,配置相应的参数,即可启用异步提交功能。例如: ```javascript $("#myForm").ajaxForm({ beforeSubmit: function() { // 提交前的处理 }, ...

    jquery form

    配合`iframe`或者`FormData`,可以实现跨域文件上传。 **7. 兼容性与最佳实践** 考虑到兼容性,确保你的项目支持最低版本的jQuery和浏览器。同时,为提高性能,可以使用最新的jQuery版本,并利用CDN(内容分发网络...

    jquery多文件上传

    此外,为了提高用户体验,可以使用插件如jQuery Form Plugin或plupload等,它们提供了更丰富的功能和更好的跨浏览器兼容性。 总的来说,"jQuery多文件上传"是一个结合了HTML5、jQuery、Ajax和服务器端技术的综合...

Global site tag (gtag.js) - Google Analytics