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币了,各位大神宽容下。

2个回答

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

u013251590
chengwen0823 也不是出错了,就是第二次没有通过ajaxForm来提交,直接提交了,options里面的success也接受不到结果,页面直接返回了一串json数组。
大约 4 年之前 回复

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!