Easyui 使用dialog窗口提交form表单 数据为空

我点击打开easyUI的dialog窗口时,后台接收的数据全部为null;但我直接使用jq的打开窗口并传输数据,后台都能获取到。我看网上有人说使用了dialog文档结构改变了,找不到对应的from?该怎么改啊

  • js部分

    <script type="text/javascript">
    /* 显示addDiv */
    function addDiv() {
        $("#addTab").dialog({
            title : '新增',
            width : 600,
            height : 400,
            modal : true
        })
    
        $("#addTab").dialog("open");
    }
    
    /* 提交新增 */
    function add() {
        var $dialog = $("#addDiv");
        var $form = $dialog.find("form[name=addForm]");
        var formData = new FormData($form[0]);
        console.log($form);
        console.log(formData);
        $.ajax({
            url : basePath + "/goodsAdd.json",
            type : "post",
            dataType : "json",
            data :formData,
            processData : false,
            cache : false,
            contentType : false,
            success : function(data) {
                if (data.num == 1) {
                    $.messager.alert('提示', "新增成功");
                    $("#datag").datagrid("reload");
                } else {
                    $.messager.alert('提示', "新增失败");
                }
            }
        });
    }
    </script>
    
  • HTML部分

<body>
    <div id="addDiv" >
        <form name="addForm" method="post" enctype="multipart/form-data">
            <table id="addTab">
                <tr>
                    <td>商品名称:<input id="goodsname1" class="easyui-textbox" name="goodsname" style="width: 150px"></td>
                    <td>商品价格:<input id="goodsprice1" class="easyui-numberbox" name="goodsprice" data-options="validType:'goodsprice',required:true" style="width: 150px"></td>
                </tr>
                <tr>
                    <td>保质&emsp;期:<input id="releasedate1" class="easyui-numberbox" name="releasedate" data-options="validType:'releasedate',required:true" style="width: 150px"></td>

                    <td>生产日期:<input id="creationdate1" class="easyui-datetimebox" name="creationdate" data-options="validType:'creationdate',required:true" style="width: 150px"></td>
                </tr>
                <tr>
                    <td>产&emsp;&emsp;地:<input id="producingarea1" class="easyui-textbox" name="producingarea" data-options="validType:'producingarea',required:true" style="width: 150px"></td>
                    <td>商品类型:<input id="goodstype1" class="easyui-textbox" name="goodstype" data-options="validType:'goodstype',required:true" style="width: 150px"></td>
                </tr>
                <tr>
                    <td>商品信息:<input id="goodsinfo1" class="easyui-textbox" name="goodsinfo" data-options="validType:'goodsinfo',required:true" style="width: 150px"></td>
                </tr>
                <tr>
                    <td colspan="2">
                        <div style="width: 100%; text-align: center;">
                            <img id="defaultImage" style="width: 250px; height: 150px; display: inline-block;" alt="默认商品" src="../../view/images/goods/wallhaven-2e3839.jpg">
                        </div>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <div style="width: 100%; text-align: center;">
                            <input name="upImage" class="easyui-filebox" style="width: 300px" data-options="buttonText:'选择文件',onChange:showImage">
                        </div>
                    </td>
                    <td>
                    <input type="hidden" id="goodsimagename" name="goodsimagename" value="wallhaven-2e3839"> 
                    <input type="hidden" id="goodssuffix" name="goodssuffix" value="jpg">
                    <input type="hidden" id="goodsimagetype" name="goodsimagetype" value="image/jpg"> <input type="hidden" id="goodsimagesize" name="goodsimagesize" value="8888"></td>
                </tr>
                <tr>
                    <td colspan="2" style="text-align: center;"><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add',onClick:add">提交</a></td>
                </tr>
            </table>
        </form>
    </div>
</body>

参照下,下面是三种提交方式

// 第一种form表单提交
    $("#uploadForm").attr("action",getContext() + "/add");
    $("#uploadForm").submit();

    // 第2种ajax做法
    var form = document.getElementById('uploadForm');
        var formData = new FormData(form);  //重点:要用这种方法接收表单的参数
        $.ajax({
            url : getContext() + "/add", 
            type : 'POST',
            data : formData,
            // 告诉jQuery不要去处理发送的数据
            processData : false,                 
            // 告诉jQuery不要去设置Content-Type请求头
            contentType : false,
            async : false,
            success : function(d) {
                console.log(d);
            }
        });
    // 第3种ajax做法
    var formData = new FormData();
    var image = $('#ad_image')[0].files[0];
    var androidUrl = $('#androidUrl').val();
    var iosUrl = $('#iosUrl').val();
    formData.append("file",image);
    formData.append("androidUrl",$("#androidUrl").val());
    formData.append("iosUrl",$("#iosUrl").val());

    $.ajax({
        url : getContext() + "/compManage/advertisementRelease/add", 
        type:'POST',
        data:formData,
        processData : false,                 
        contentType : false,
        async : false,
        xhrFields: {
            // 跨域
            withCredentials: true
        },
        dataType : "json",
        success:function(data){
            if (data.errorCode == "success") {

            }
        }
    });

}

我找到问题了,需要在div里面引用easyui,然后创建窗口的时候打开div而不是table,这样序列化的时候文档结构就不会变化