溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

layui提交彈出頁面的form表單

發(fā)布時間:2020-07-26 09:47:36 來源:網(wǎng)絡 閱讀:774 作者:pannijingling 欄目:web開發(fā)

使用layui后臺框架,從父頁面操作提交子頁面的表單信息

1. 父頁面

1.1 html

<button type="button" class="layui-btn layui-btn-sm" id="add">新增用戶</button>

1.2 相關js

// 綁定新增用戶事件
$("#add").on("click", function() {
    layer.open({
        skin : 'layui-layer-molv',
        type : 2,
        title : '新增用戶',
        area : [ '440px', '390px' ],
        shade : 0.8, // 遮罩層透明度
        id : 'LAY_layuipro', //設定一個id,防止重復彈出
        resize : false, //是否允許拉伸
        btn : [ '確認', '關閉' ],
        moveType : 1, //拖拽模式,0或者1
        content :  'user/add/view',
        yes: function(index, layero){  // 確認按鈕回調(diào)方法,兩個參數(shù)分別為當前層索引、當前層DOM對象
            var submitID = 'LAY-back-submit'; // 1.提交按鈕ID
            var submitFilterID = 'LAY-front-submit'; // 2.提交按鈕lay-filter

            var submit = layero.find('iframe').contents().find('#'+ submitID); // 3.獲取子頁面按鈕
            var iframeWindow = layero.find('iframe')[0].contentWindow; // 4.獲取子頁面iframe對象
            // 5.監(jiān)聽子頁面提交事件
            iframeWindow.layui.form.on('submit(' + submitFilterID + ')', function(data) {
                // 5.1新增用戶
                addUser(index, data);
            });  
            // 6.觸發(fā)子頁面點擊事件
            submit.trigger('click');
        }
    });
});

// 新增用戶
function addUser(index,formData) {
    // 加載提示
    var loadingMsg = layer.msg('數(shù)據(jù)請求中,請稍候...', {icon: 16,scrollbar: false,time: 0,shade: [0.8, '#393D49']});
        // form請求地址
        var formUrl = projectName + "sysUser/add";
        $.ajax({
            type: 'POST',
            async: false, // 默認異步true,false表示同步
            url: formUrl, // 請求地址
            dataType: 'json', // 服務器返回數(shù)據(jù)類型
            data: formData.field, //獲取提交的表單字段
            success: function(data) {
                layer.close(loadingMsg); // 關閉提示層
                if (data.code == '1002') {
                    // 信息提示
                    layer.alert(data.message, {skin: 'layui-layer-molv', closeBtn: 0,icon: 1}, function(alertIndex){
                        layer.close(alertIndex) // 關閉當前alert
                        layer.close(index);     // 關閉彈出層open
                        /*
                            刷新表格數(shù)據(jù),如果使用的是layer的toolbar工具欄,
                            刷新后按鈕綁定將會失效,解決方案請看文章底部鏈接
                        */
                        reloadTable();          
                    });
                } else {
                    layer.alert(data.message, {icon: 5});
                }
            },
            error: function(XMLHttpRequest, textStatus, e) {
                    layer.close(loadingMsg);
                    layer.msg('數(shù)據(jù)請求發(fā)生異常,請稍后重試', {icon: 16,scrollbar: false});
            }
        });
}

2. 子頁面

2.1 html

<div class="layui-form" >
    <div class="layui-form-item">
        <label class="layui-form-label">用戶名</label>
        <div class="layui-input-inline">
            <input type="text" name="userName" lay-verify="required" placeholder="請輸入用戶名(必填)" autocomplete="off" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">手機</label>
        <div class="layui-input-inline">
            <input type="text" name="phone" lay-verify="phone" placeholder="請輸入號碼" autocomplete="off" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">郵箱</label>
        <div class="layui-input-inline">
            <input type="text" name="email" lay-verify="email" placeholder="請輸入郵箱" autocomplete="off" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item layui-hide">
        <div class="layui-input-block layui-right">
            <button type="submit" class="layui-btn" lay-submit lay-filter="LAY-front-submit" id="LAY-back-submit">確認</button>
        </div>
    </div>
</div>

2.2 js

layui.use(['form','layer'],function(){
    var form = layui.form,
           layer = parent.layer === undefined ? layui.layer : top.layer;
})

table.reload之后表格toolbar工具欄按鈕失效解決方案,請點擊layui的table在reload之后工具欄按鈕失效的問題解決方案

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI