javascript-jquery.form.js 二次提交出错

问题描述

jquery.form.js 二次提交出错

我是菜鸟,现在做一个表单的提交图片,用的jquery.form.js这个框架,第一次提交是正常的,但是第二次提交就会出错误,请大神指点下,这个是我的代码。

这是JS代码

 function formReady() {
    var options = {
            url:"user!upLoadFile.action",
            type:'post',
            dataType:'json',
            resetForm: true,
            clearForm: true,
            async :true, // 异步
            success: function(data){
                if(data.result == "noFile"){
                    alert("没有上传文件");
                    return;
                }else if(data.result == "error"){
                    alert("文件上传错误");
                    return;
                }else if(data.result == "norecord"){
                    alert("没有可添加记录的病历");
                    return;
                }
                var recordAdd = $("#recordAdd");
                var html = "";
                var recordAddText = recordAdd[0].innerHTML;
                var m_pic = $("#m-pic");
                if(m_pic[0] == null || m_pic[0] == ""){
                    html += '<div id="m-pic" class="m-at">';
                    html += '<div id="u-pic" class="u-cnt">附件管理      /  已添加<span id="pic-math">0</span>个附件</div>';
                    html += '<div class="u-line"></div>';
                    html += '<div class="u-pic">';
                    html += '<div id="pic-cnt" class="z-ctn" style="height:100%;width: 100rem">';
                    html += '</div>';
                    html += '</div>';
                    recordAdd.html(recordAddText+html);

                    html = "";
                }
                var z_pic = $("#pic-cnt");
                var path = data.path;
                var z_pic_text = z_pic[0].innerHTML;
                if(path != null){
                    html += '<div class="pic" id="'+ path.id +'">';
                    html += '<img alt="" src="'+ path.path.substring(path.path.indexOf("upload")) +'" onclick="toPicture('+ path.id +');"/>';
                    html += '<a href="javaScript:void(0)" onclick="deletePicture(this);">删除</a>';
                    html += '</div>';
                    z_pic.html(z_pic_text+html);

                    $("#pic-math").val($(".pic>img").length);

                    html = "";
                }

                var pic = $(".pic");
                var wid1 = pic.length;
                z_pic.offsetWidth;
                z_pic.css("width","calc("+ wid1 +" * 10rem + 1rem)");
            }
    };

    $("#form").ajaxSubmit(function(){
        $("#form").ajaxForm(options);
    });
    //$("#form").ajaxForm(options);

}

function addRecodeClick(){
    $("#file").click();
}

function fileChange(){
    if(this.value == ""){
        return;
    }else{
        $("#submit").click();
    }
}

这是html

 <form id="form" action="" onsubmit="formReady();" enctype="multipart/form-data" method="post">
                            <input id="recordId" type="hidden" name="recordId"/>
                            <a href="javaScript:void" onclick="addRecodeClick()">添加附件</a>
                            <input id="file" name="file" type="file" style="display: none" onchange="fileChange();" accept=".jpg,.png,.gif,.jpeg"/><br/>
                            <input id="submit" type="submit" value="upload" style="display: none"/>
                        </form>

没有C币了,各位大神宽容下。

解决方案

form提交--jquery.form.js
jquery.form.js实现图片上传后预览
jquery.form.js------ajaxSubmit提交实例
----------------------

解决方案二:

给你一些解决问题的思路:
1.在js端和server端多加些调试断点和日志输出,检查第二次出错的点和相关出错日志,能帮助你快速找到问题原因。
2.如果问题不好定位,建议安装一个Http Watch,抓取http报文,可以帮助你发现运行时的参数传递和响应结果的正确性。

解决方案三:

$("#form").ajaxSubmit(function(){
$("#form").ajaxForm(options);
});
而 $("#form").ajaxForm(options);,ajaxForm的使用方法,请自行百度下。他不是用来提交的。

时间: 2024-10-31 06:30:51

javascript-jquery.form.js 二次提交出错的相关文章

jquery.form.js异步上传完图片在post表单为啥post不了

问题描述 jquery.form.js异步上传完图片在post表单为啥post不了 下面是一个post表单 @using (Ajax.BeginForm("AddNewsInfoModel", "AdminNewsList", new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterAdd" }, new { id = "Form1" })) {

浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用_jquery

• 依赖的脚本文件 <script src="../Javascript/jquery-1.11.1.min.js" type="text/javascript"></script> <script src="../Javascript/jquery.form.js" type="text/javascript"></script> • ajaxSubmit 和ajaxForm区

jquery.form.js beforeSubmit失效问题。

引用jquery.form.js     ajaxsubmit 来提交form表单,回自动提交表单中所有数据,根据name匹配. 初始代码如下: //验证注册 function validateRegist(){ if($("#registerEmail").val().trim() == ""){ floatLayer("请输入email"); return false; }; } function registNew(){ var optio

jquery.form.js实现将form提交转为ajax方式提交的方法

 这个框架集合form提交.验证.上传的功能.  这个框架必须和jquery完整版结合,否则使用min则无效. 原理:利用js进行对form进行组装成ajax的url和data,原理还是用ajax来提交,其实这完全可以自己写,但是有这个框架可能会更简单. 一.最简单例子: 第一步:引用js  1 2 3 4 <!--这里的min是自己用js压缩工具对完整版进行的压缩 并不是真正的min,所以好使--> <script type="text/javascript" sr

jquery.form.js实现将form提交转为ajax方式提交的方法_jquery

本文实例讲述了jquery.form.js实现将form提交转为ajax方式提交的方法.分享给大家供大家参考.具体分析如下: 这个框架集合form提交.验证.上传的功能. 这个框架必须和jquery完整版结合,否则使用min则无效. 原理:利用js进行对form进行组装成ajax的url和data,原理还是用ajax来提交,其实这完全可以自己写,但是有这个框架可能会更简单. 一.最简单例子: 第一步:引用js <!--这里的min是自己用js压缩工具对完整版进行的压缩 并不是真正的min,所以好

基于jQuery通过jQuery.form.js插件使用ajax提交form表单_javascript技巧

我们在提交表单的时候,如果没有使用ajax提交,页面都会自己刷新一下,显得非常的不友好,所以我们需要把我们的表单提交修改为ajax的模式,可以让用户清楚地知道他们在提交表单的时候处在哪一个阶段:正在提交?提交成功? 我简单使用了一下,jQuery Form插件有一下优点: 1.支持提交前验证. 2.支持提交后回调. 3.采用AJAX方式,有很好的用户体验 4.提交方式是灵活.只要指定要提交的form ID即可.想提交那个form.就可提交那个.同时提交参数可配置. 5.支持提交多种类型数据.如:

Struts2+jquery.form.js实现图片与文件上传的方法_jquery

本文实例讲述了Struts2+jquery.form.js实现图片与文件上传的方法.分享给大家供大家参考,具体如下: jquery.form.js是jQuery的一个官方用语支持异步上传文件的插件.官方网站:http://plugins.jquery.com/form/ 结合Struts2三步轻松实现文件上传 一般是针对一个页面可能不止一个Form表单,所以在一个面提交表单会影响到另一个表单,为此,图片上传表单就可以使用无刷新提交方式上传,也就是异步上传,这时jquery.from.js就派上用

基于jQuery通过jQuery.form.js插件实现异步上传_jquery

本文主要从前台和后台代码分析了jquery.form.js实现异步上传的方法,分享给大家,具体代码如下 前台代码: @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <script src="~/Scripts/jquery-1.7.2.min.j

asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)_jquery

本文实例讲述了asp.net+jquery.form实现图片异步上传的方法.分享给大家供大家参考,具体如下: 首先我们需要做准备工作: jquery 点击此处本站下载. jquery.form.js 点击此处本站下载. 页面JqueryFormTest.aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="JqueryFormTest.aspx.cs" Inherits=