鼠标拖拽问题

新手上路,请多包涵

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/

xhtml">

<head>

<title>新增问卷模板</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<script src="./js/jquery-1.11.0.min.js" type="text/javascript"></script>
<link rel='stylesheet' type='text/css' href='./css/ss.css' />

</head>

<body onselectstart="javascript:return false;" class="body"

style="background:#f8f8f8;width:900px;height:600px;margin:auto;">

<div class="x hide">11</div>
<div class="y hide"></div>

<ul class="toolbar">
    <li class="tool" eletype="ele" style="border-left:solid 1px #b0b0b0;">
        <span class="e-ipt">元素库</span>
        <img src="./images1/icos/s-ipt.png" class="hide" />
    </li>
    <li class="tool" eletype="text" style="border-left:solid 1px #b0b0b0;">
        <span class="s-ipt">文本框</span>
        <img src="./images1/icos/s-ipt.png" class="hide" />
    </li>
    <li class="tool" eletype="textarea">
        <span class="m-ipt">文本域</span>
        <img src="./images1/icos/s-ipt.png" class="hide" />
    </li>
    <!--<li eletype="text">
        <span class="date">日期</span>
        <img src="${mvcPath}/resources/dataFormat/images1/icos/s-ipt.png" class="hide" />
    </li>-->
    <li class="tool" eletype="select">
        <span class="select">下拉</span>
        <img src="./images1/icos/s-ipt.png" class="hide" />
    </li>
    <li class="tool" eletype="radio">
        <span class="radio">单选</span>
        <img src="./images1/icos/s-ipt.png" class="hide" />
    </li>
    <li class="tool" eletype="checkbox">
        <span class="checkbox">多选</span>
        <img src="./images1/icos/s-ipt.png" class="hide" />
    </li>
    <li class="tool" eletype="label">
        <span class="label">备注</span>
        <img src="./images1/icos/s-ipt.png" class="hide" />
    </li>
    <!--加入-->
    <#-- <li class="tool" eletype="tables">-->
        <#-- <span class="tables">表格</span>-->
            <#-- <img src="./images1/icos/s-ipt.png" class="hide" />-->
            <#-- </li>--> <#-- <li class="tool" eletype="gps">-->
                <#-- <span class="gps">地图</span>-->
                    <#-- <img src="./images1/icos/s-ipt.png" class="hide" />-->
                    <#-- </li>--> <li class="btn" onclick="preview()">预览</li>
                        <li class="btn" onclick="showTplName()">保存</li>
</ul>

<div class="form clear">
    <table class="tb">111</table>
</div>

<ul class="statusbar"></ul>

<div class="pop hide" style='margin-top: -150px;'>
    <iframe class="" id="frm" src="" width="100%" height="100%" frameborder="0"></iframe>
</div>

<div class="loading hide">
    <img src="./images1/loading.gif" />
</div>

<form id="form">
    <input type="hidden" value="${sysSource}" id="sysSource" name="sysSource" />
    <input type="hidden" value="${staffNo}" id="staffNo" name="staffNo" />
    <input type="hidden" value="${tplTypeId}" id="tplTypeId" name="tplTypeId" />
    <input type="hidden" id="param" name="param" />
    <input type="hidden" id="tplName" name="tplName" />
</form>

<script type="text/javascript">
    function uuid() {
        var s = [];
        var hexDigits = "0123456789abcdef";
        for (var i = 0; i < 36; i++) {
            s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
        }
       
        s[1] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
        s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
        s[8] = s[13] = s[18] = s[23] = "-";

        var uuid = s.join("");
        return uuid;
    }

    $(function () {
        var html = '';
        for (var i = 0; i < 40; i++) {
            if (i != 0) {
                // html += '</tr>';
            }
            html += '<tr>';
            for (var j = 0; j < 8; j++) {
                html += '<td class="td" col="' + (j + 1) + '" row="' + (i + 1) + '"></td>';
            }
        }
        // html += '</tr>';
        $(".form table").append(html);
    })

    var drag = false;
    var dragEle;

    var tarEle;
    var mov = false;
    var wth = false;


    //下拉  1.鼠标按下未释放事件  onmousedown
    $(".toolbar .tool").each(function () {
        console.log($(".toolbar .tool").each)
        $(this).mousedown(function (e) {
            e = e || event;
            drag = true;
            dragEle = $(this).find("img").clone();
            dragEle.removeClass("hide");
            dragEle.attr("eleType", $(this).attr("eleType"));
            dragEle.css("position", "absolute");
            dragEle.css("left", e.pageX);
            dragEle.css("top", e.pageY);
            $("body").append(dragEle);
            console.log($("body"))
        })
    });


    //鼠标十字线   2.鼠标移动事件: onmousemove
    $(document).mousemove(function (e) {
        e = e || event;
        if (drag) {
            dragEle.css("left", e.pageX );
            dragEle.css("top", e.pageY );
        }

        //坐标
        if (mov) {
            $(".x").css("top", e.pageY );
            $(".y").css("left", e.pageX);
        }

        if (wth) {
            $(".x").css("top", e.pageY - 2);
            $(".y").css("left", e.pageX - 2);
        }
    });

    //放下可移动   鼠标抬起事件 :onmouseup
    $(document).mouseup(function (e) {
        e = e || event;
        if (drag) {
            drag = false;
            var eleType = $(dragEle).attr("eleType");
            dragEle.remove();
            var overTd = document.elementFromPoint(e.pageX, e.pageY);
            console.log($(overTd).hasClass("td"))
            if ($(overTd).hasClass("td")) {
                $(".eles.on").removeClass("on");
                var id = uuid();
                switch (eleType) {
                    case "ele":
                        var div = '<div class="eles on" eleType="' + eleType +
                            '" onclick="edit(this)" id="' + id + '" firstid="' + id +
                            '" _txt="请选择元素" _color="#000000" _req="0" _isclosereq="0" _def_type="0" _def="" _relaed="-1" _relaed_opt="">';
                        div += '<div class="mov hide"></div>';
                        // div += '<div class="wth hide"></div>';
                        // div += '<div class="atr hide" eleType="' + eleType + '" _id="' + id +
                        //     '"  firstid="' + id + '"></div>';
                        // div += '<div class="elep hide"></div>';
                        // div += '<div class="dele hide" onclick="deleEle(this)">删</div>';
                        // div += '<div class="label">请选择元素</div>';
                        // div += '<div class="ele"><input type="text"/></div>';
                        // div += '</div>';
                        $(overTd).append(div);

                        // var btns = '<li>';
                        // btns += '<div class="selbtn fleft" onclick="selEle(this)" _id="' + id +
                        //     '" firstid="' + id + '">元素库</div>'
                        // btns += '<div class="delbtn fleft" onclick="delEle(this)" _id="' + id +
                        //     '" firstid="' + id + '">删</div>'
                        // btns += '</li>';
                        // $(".statusbar").append(btns);

                        // break;
                    // case "text":
                    //     var div = '<div class="eles on" eleType="' + eleType +
                    //         '" onclick="edit(this)" id="' + id + '" firstid="' + id +
                    //         '" _txt="请输入内容" _color="#000000" _req="0" _isclosereq="0" _def_type="0" _def="" _relaed="-1" _relaed_opt="">';
                    //     div += '<div class="mov hide"></div>';
                    //     div += '<div class="wth hide"></div>';
                    //     div += '<div class="atr hide" eleType="' + eleType + '" _id="' + id +
                    //         '"  firstid="' + id + '"></div>';
                    //     div += '<div class="dele hide" onclick="deleEle(this)">删</div>';
                    //     div += '<div class="label">请输入内容</div>';
                    //     div += '<div class="ele"><input type="text"/></div>';
                    //     div += '</div>';
                    //     $(overTd).append(div);

                    //     var btns = '<li>';
                    //     btns += '<div class="selbtn fleft" onclick="selEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">文本框</div>'
                    //     btns += '<div class="delbtn fleft" onclick="delEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">删</div>'
                    //     btns += '</li>';
                    //     $(".statusbar").append(btns);

                    //     break;
                    // case "textarea":
                    //     var div = '<div class="eles on" eleType="' + eleType +
                    //         '" onclick="edit(this)" id="' + id + '" firstid="' + id +
                    //         '" _txt="请输入内容" _color="#000000" _req="0" _isclosereq="0" _def_type="0" _def="" _relaed="-1" _relaed_opt="">';
                    //     div += '<div class="mov hide"></div>';
                    //     div += '<div class="wth hide"></div>';
                    //     div += '<div class="atr hide" eleType="' + eleType + '" _id="' + id +
                    //         '"  firstid="' + id + '"></div>';
                    //     div += '<div class="dele hide" onclick="deleEle(this)">删</div>';
                    //     div += '<div class="label">请输入内容</div>';
                    //     div += '<div class="ele"><textarea></textarea></div>';
                    //     div += '</div>';
                    //     $(overTd).append(div);

                    //     var btns = '<li>';
                    //     btns += '<div class="selbtn fleft" onclick="selEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">文本域</div>'
                    //     btns += '<div class="delbtn fleft" onclick="delEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">删</div>'
                    //     btns += '</li>';
                    //     $(".statusbar").append(btns);
                    //     break;
                    // case "select":
                    //     var div = '<div class="eles on" eleType="' + eleType +
                    //         '" onclick="edit(this)" id="' + id + '" firstid="' + id +
                    //         '" _txt="请输入内容" _color="#000000" _req="0" _isclosereq="0" _def_type="0" _def="" _relaed="-1" _relaed_opt="">';
                    //     div += '<div class="mov hide"></div>';
                    //     div += '<div class="wth hide"></div>';
                    //     div += '<div class="atr hide" eleType="' + eleType + '" _id="' + id +
                    //         '"  firstid="' + id + '"></div>';
                    //     div += '<div class="dele hide" onclick="deleEle(this)">删</div>';
                    //     div += '<div class="label">请输入内容</div>';
                    //     div += '<div class="ele"><select><option>未选择</option></select></div>';
                    //     div += '</div>';
                    //     $(overTd).append(div);

                    //     var btns = '<li>';
                    //     btns += '<div class="selbtn fleft" onclick="selEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">下拉</div>'
                    //     btns += '<div class="delbtn fleft" onclick="delEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">删</div>'
                    //     btns += '</li>';
                    //     $(".statusbar").append(btns);
                    //     break;
                    // case "radio":
                    //     var div = '<div class="eles on" eleType="' + eleType +
                    //         '" onclick="edit(this)" id="' + id + '" firstid="' + id +
                    //         '" _txt="请输入内容" _color="#000000" _req="0" _isclosereq="0" _def_type="0" _def="" _relaed="-1" _relaed_opt="">';
                    //     div += '<div class="mov hide"></div>';
                    //     div += '<div class="wth hide"></div>';
                    //     div += '<div class="atr hide"></div>';
                    //     div += '<div class="dele hide" onclick="deleEle(this)">删</div>';
                    //     div += '<div class="label" eleType="' + eleType + '" _id="' + id + '"  firstid="' +
                    //         id + '">请输入内容</div>';
                    //     div += '<div class="ele"><input type="radio"/>未选择</div>';
                    //     div += '</div>';
                    //     $(overTd).append(div);

                    //     var btns = '<li>';
                    //     btns += '<div class="selbtn fleft" onclick="selEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">单选</div>'
                    //     btns += '<div class="delbtn fleft" onclick="delEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">删</div>'
                    //     btns += '</li>';
                    //     $(".statusbar").append(btns);
                    //     break;
                    // case "checkbox":
                    //     var div = '<div class="eles on" eleType="' + eleType +
                    //         '" onclick="edit(this)" id="' + id + '" firstid="' + id +
                    //         '" _txt="请输入内容" _color="#000000" _req="0" _isclosereq="0" _def_type="0" _def="" _relaed="-1" _relaed_opt="">';
                    //     div += '<div class="mov hide"></div>';
                    //     div += '<div class="wth hide"></div>';
                    //     div += '<div class="atr hide"></div>';
                    //     div += '<div class="dele hide" onclick="deleEle(this)">删</div>';
                    //     div += '<div class="label" eleType="' + eleType + '" _id="' + id + '"  firstid="' +
                    //         id + '">请输入内容</div>';
                    //     div += '<div class="ele"><input type="checkbox"/>未选择</div>';
                    //     div += '</div>';
                    //     $(overTd).append(div);

                    //     var btns = '<li>';
                    //     btns += '<div class="selbtn fleft" onclick="selEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">多选</div>'
                    //     btns += '<div class="delbtn fleft" onclick="delEle(this)" _id="' + id +
                    //         '" firstid="' + id + '">删</div>'
                    //     btns += '</li>';
                    //     $(".statusbar").append(btns);
                    //     break;
                    // case "label":
                    //     var div = '<div class="eles on" style="width:100px;" eleType="' + eleType +
                    //         '" onclick="edit(this)" id="' + id + '" firstid="' + id +
                    //         '" _txt="请输入内容" _color="#000000" _req="0" _isclosereq="0" _def_type="0" _def="" _relaed="-1" _relaed_opt="">';
                    //     div += '<div class="mov hide"></div>';
                    //     div += '<div class="wth hide"></div>';
                    //     div += '<div class="atr hide" eleType="' + eleType + '" _id="' + id +
                    //         '"  firstid="' + id + '"></div>';
                    //     div += '<div class="dele hide" onclick="deleEle(this)">删</div>';
                    //     div += '<div class="label">请输入内容</div>';
                    //     div += '</div>';
                    //     $(overTd).append(div);

                        // var btns = '<li>';
                        // btns += '<div class="selbtn fleft" onclick="selEle(this)" _id="' + id +
                        //     '" firstid="' + id + '">备注</div>'
                        // btns += '<div class="delbtn fleft" onclick="delEle(this)" _id="' + id +
                        //     '" firstid="' + id + '">删</div>'
                        // btns += '</li>';
                        // $(".statusbar").append(btns);
                        // break;
                }

                edit($(".eles.on"));

                //这2
                $(".mov").each(function () {
                    $(this).off("mousedown");
                    console.log(this)
                    var positionDiv = $(this).offset(); // 获取当前位移
                    console.log(positionDiv)
                    var distenceX = e.pageX - positionDiv.left; //鼠标距离盒子左侧的距离
                    console.log(distenceX)
                    var distenceY = e.pageY - positionDiv.top; // 鼠标距离盒子顶部的距离
                    console.log(distenceY)
                    $(this).mousedown(function (e) {
                        var x = e.pageX - distenceX;
                        var y = e.pageY - distenceY;
                        $("mov").css({
                            'left': x + 'px',
                            'top': y + 'px'
                        })
                        e = e || event;
                        mov = true;
                        tarEle = $(this).parent();
                        $(".x").css("top", e.pageX);
                        $(".y").css("left", e.pageY);
                        $(".x").show();
                        $(".y").show();
                    })

                });

                $(".wth").each(function () {
                    $(this).off("mousedown");
                    $(this).mousedown(function (e) {
                        e = e || event;
                        wth = true;
                        tarEle = $(this).parent();
                        $(".x").css("top", e.pageY);
                        $(".y").css("left", e.pageX);
                        $(".x").show();
                        $(".y").show();
                    })
                });

                $(".atr").each(function () {
                    $(this).off("click");

                    $(this).click(function () {
                        var url = "${mvcPath}/questionnaire/attr"
                        $("#frm").attr("src", url);
                        $(".pop").show();
                        $('.label').attr('bsl', '');
                        $(this).next().attr('bsl', 'ace');
                    })
                });

                $(".elep").each(function () {
                    $(this).off("click");
                    var tplTypeId = $("#tplTypeId").val();
                    $(this).click(function () {
                        var url =
                            "${mvcPath}/questionnaire/elelists?pageIndex=1&tplTypeId=" +
                            tplTypeId
                        $("#frm").attr("src", url);
                        $(".pop").show();
                        $('.label').attr('bsl', '');
                        $(this).next().attr('bsl', 'ace');
                    })
                })
            } else {
                alert("请点击图标后持续按住鼠标左键并拖动到表格内");
            }
        }
        // 这2
        if (mov) {
            mov = false;
            //$(".eles").css("z-index", "999");
            var overTd = document.elementFromPoint(e.pageX, e.pageY);
            if ($(overTd).hasClass("td")) {
                $(overTd).append(tarEle);
            } else {
                alert("请点击图标后持续按住鼠标左键并拖动来调整此元素位置");
            }
            $(".x").hide();
            $(".y").hide();
            //$(".eles").css("z-index", "1001");
            //$(".eles.on").css("z-index", "1002");
        }

        if (wth) {
            wth = false;
            //$(".eles").css("z-index", "999");
            var overTd = document.elementFromPoint(e.pageX, e.pageY);
            if ($(overTd).hasClass("td")) {
                var o_col = $(tarEle).parent().attr("col");
                var t_col = $(overTd).attr("col");
                var o_row = $(tarEle).parent().attr("row");
                var t_row = $(overTd).attr("row");
                // $(tarEle).width(100 * (t_col - o_col + 1));
                // $(tarEle).height(30 * (t_row - o_row + 1));

                var eleType = $(tarEle).attr("eleType");
                // switch (eleType) {
                //     case "text":
                //     case "select":
                //         $($(tarEle).find("input,select")).width(($(tarEle).width() - 140) > 260 ? 260 : (($(
                //             tarEle).width() - 140) < 100 ? 100 : ($(tarEle).width() - 140)));
                //         break;
                //     case "textarea":
                //         $($(tarEle).find("textarea")).width(($(tarEle).width() - 140) < 90 ? 90 : ($(tarEle)
                //             .width() - 140));
                //         $($(tarEle).find("textarea")).hei
                // ght($(tarEle).height() - 4);
                //         break;
                //     case "label":
                //         $($(tarEle).find(".label")).width(($(tarEle).width() - 10) < 90 ? 90 : ($(tarEle)
                //             .width() - 10));
                //         $($(tarEle).find(".label")).height($(tarEle).height() - 4);
                //         break;
                // }
            } else {
                alert("请点击图标后持续按住鼠标左键并拖动来调整此元素宽度");
            }
            $(".x").hide();
            $(".y").hide();
            //$(".eles").css("z-index", "1001");
            //$(".eles.on").css("z-index", "1002");
        }
    });

    $(document).click(function (e) {
        if (!drag && !mov && !wth) {
            var ele = document.elementFromPoint(e.pageX, e.pageY);
            if ($(ele).hasClass("body")) {
                $(".eles.on").removeClass("on");
                $(".eles .mov,.wth,.atr,.elep ,.dele").hide();
            }
        }
    })

    function edit(obj) {
        $(".eles.on").removeClass("on");
        $(".eles .mov,.wth,.atr,.elep,.dele").hide();
        $(obj).addClass("on");
        $(obj).find(".mov,.wth,.atr,.elep,.dele").show();
    }

    function selEle(obj) {
        var _id = $(obj).attr("_id");
        edit($(".eles[id='" + _id + "']"));
    }

    function deleEle(dom) {
        var _id = dom.parentElement.getAttribute("id")
        var items = $(".eles[_relaed='" + _id + "']");
        if (items.length > 0) {
            var msg = "";
            for (var i = 0; i < items.length; i++) {
                msg += $(items[i]).attr("_txt") + ",";
            }
            msg = msg.substring(0, msg.length - 1) + "受到该元素的影响,请先删除受影响属性后删除";
            alert(msg);
            return;
        }
        $(".eles[id='" + _id + "']").remove();
        // $(obj).parent().remove();
        $(".fleft[_id='" + _id + "']").parent().remove()
        $(".eles.on").removeClass("on");
        $(".eles .mov,.wth,.atr,.elep").hide();
    }

    function delEle(obj) {
        var _id = $(obj).attr("_id");
        /*加受影响元素判断*/
        var items = $(".eles[_relaed='" + _id + "']");
        if (items.length > 0) {
            var msg = "";
            for (var i = 0; i < items.length; i++) {
                msg += $(items[i]).attr("_txt") + ",";
            }
            msg = msg.substring(0, msg.length - 1) + "受到该元素的影响,请先删除受影响属性后删除";
            alert(msg);
            return;
        }
        $(".eles[id='" + _id + "']").remove();
        $(obj).parent().remove();
        $(".eles.on").removeClass("on");
        $(".eles .mov,.wth,.atr,.elep").hide();
    }

    function genData() {
        var obj = '[]';

        for (var i = 0; i < $(".eles").length; i++) {
            var eleType = $($(".eles")[i]).attr("eleType");
            var id = $($(".eles")[i]).attr("id");
            var txt = $($(".eles")[i]).attr("_txt");
            var color = $($(".eles")[i]).attr("_color");
            var req = $($(".eles")[i]).attr("_req");
            var defType = $($(".eles")[i]).attr("_def_type");
            var def = $($(".eles")[i]).attr("_def");

            var relaed = $($(".eles")[i]).attr("_relaed");
            relaed = relaed == undefined ? "" : relaed;
            var relaedOpt = $($(".eles")[i]).attr("_relaed_opt");
            relaedOpt = relaedOpt == undefined ? "" : relaedOpt;
            var isCloseReq = $($(".eles")[i]).attr("_isclosereq");
            isCloseReq = isCloseReq == undefined ? "" : isCloseReq;
            var relaedOptUscenter = $($(".eles")[i]).attr("_relaed_opt_uscenter");
            relaedOptUscenter = relaedOptUscenter == undefined ? "" : relaedOptUscenter;
            var serviceFullUrl = $($(".eles")[i]).attr("_service_full_url");
            serviceFullUrl = serviceFullUrl == undefined ? "" : serviceFullUrl;
            var requestParam = $($(".eles")[i]).attr("entrance");
            requestParam = requestParam == undefined ? "" : requestParam;
            var rsponParam = $($(".eles")[i]).attr("export_box");
            rsponParam = rsponParam == undefined ? "" : rsponParam;
            var iselestore = $($(".eles")[i]).attr("is_elestore");
            iselestore = iselestore == undefined ? "" : iselestore;
            var saveTableName = $($(".eles")[i]).attr("_table_name");
            saveTableName = saveTableName == undefined ? "" : saveTableName;

            var rowIndex = $($(".eles")[i]).parent().attr("row");
            var colIndex = $($(".eles")[i]).parent().attr("col");

            var colSpan = $($(".eles")[i]).width() % 100 == 0 ? $($(".eles")[i]).width() / 100 : (parseInt($($(
                ".eles")[i]).width() / 100) + 1).toString();
            var rowSpan = $($(".eles")[i]).height() % 30 == 0 ? $($(".eles")[i]).height() / 30 : (parseInt($($(
                ".eles")[i]).height() / 30) + 1).toString();

            obj += '{'
            obj += '"eleType":"' + eleType.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"id":"' + id.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"txt":"' + txt.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"color":"' + color.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"req":"' + req.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"isCloseReq":"' + isCloseReq.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"defType":"' + defType.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"def":"' + def.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"relaed":"' + relaed.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"relaedOpt":"' + relaedOpt.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"relaedOptUscenter":"' + relaedOptUscenter.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"serviceFullUrl":"' + serviceFullUrl.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"requestParam":"' + requestParam.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"rsponParam":"' + rsponParam.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"iselestore":"' + iselestore.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"saveTableName":"' + saveTableName.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"rowIndex":"' + rowIndex.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"rowSpan":"' + rowSpan.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"colIndex":"' + colIndex.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '",';
            obj += '"colSpan":"' + colSpan.replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + '"';
            obj += '},'
        }
        if (obj.length > 1) {
            obj = obj.substring(0, obj.length - 1);
        }
        obj += ']';
        obj = obj.replace(/\r/g, "\\r");
        obj = obj.replace(/\n/g, "\\n");
        obj = obj.replace(/\t/g, "\\t");
        /* obj = obj.replace(/\'/g,"&#39;");
        obj = obj.replace(/ /g,"&nbsp;");
        obj = obj.replace(/</g,"&lt;");
        obj = obj.replace(/>/g,"&gt;"); */
        return obj;
    }

    function preview() {
        var obj = genData();
        $("#param").val(obj);
        document.getElementById("form").action = "${mvcPath}/dataForm/preview?t=" + uuid();
        document.getElementById("form").target = "_blank";
        document.getElementById("form").method = "post";
        document.getElementById("form").submit();
    }

    function showTplName() {
        if ($(".eles").length > 0) {
            var url = "${mvcPath}/questionnaire/tplName?tplName=";
            $("#frm").attr("src", url);
            $(".pop").show();
        } else {
            alert("不能保存空模板")
        }
    }

    function save() {
        var obj = genData();
        $("#param").val(obj);
        var staffNo = $("#staffNo").val();
        var tplTypeId = $("#tplTypeId").val();
        var tplName = $("#tplName").val();
        var sysSource = $("#sysSource").val();
        var param = $("#param").val();
        var data = {
            staffNo: staffNo,
            tplTypeId: tplTypeId,
            tplName: tplName,
            sysSource: sysSource,
            param: param
        }
        $.ajax({
            type: "post",
            url: '${mvcPath}/questionnaire/add',
            async: true,
            data: data,
            dataType: 'json',
            success: function (result) {
                if (result.errCode == "0") {
                    alert("提交成功!");
                    var _url = "${mvcPath}/questionnaire/tplList?staffNo=" + staffNo + "&sysSource=" +
                        sysSource;
                    window.location.href = encodeURI(_url);
                } else {
                    alert("失败;errMsg=" + result.errMsg);
                }
            }
        });
    }
</script>

</body>

</html>

阅读 556
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进