2019.4.15 EasyUI的消息框和对话框的设置

先简单说一下我遇到的问题:任务要求是在一个列表上增加一个按钮,选中这条表单上的某一条信息,然后弹出一个文字录入框,点确定保存。

首先我使用的是消息框prompt。

$.messager.prompt({
    width:300, // 窗口的宽度
    height:200,//窗口的高度
    title:"prompt", // 显示在头部面板上的标题文本。
    msg:" please enter your name”  ,
    function(r){
        $.ajax({
           url:"",//接口
           type:"POST",
           data:r,
           dataType:"json",
           success:function(e){
                 console.log(e)
            }
        })
});
// 当然也可以修改输入框的宽度和高度,只需要选中.messager-input标签

  .panel-body .messager-input {
    width: 360px !important;
    height: 100px !important;
    margin: 0 auto;
  }

 

 

但是遇到了拦路虎,任务要求是文字录入框可以多行输入,但是prompt只能单行插入,希望哪位大神看到告诉我一下哈。

然后我舍弃了这种方法,使用了easyui中的对话框,基本代码如下:

function invalid() {
            var missionId = $("#missionDateGrid").jqGrid('getGridParam', 'selrow');
            if (!missionId) {
                alert('请选择一条信息');
                return;
            }
            if (missionId) {
                $('#win').form('clear')
                $("#win").dialog({
                    title: "备注",
                    width: 450,
                    height: 250,
                    top: 150,
                    closed: false,
                    cache: false,
                    modal: true,
                }); 
                $('#reconfirm').unbind('click');
                $("#reconfirm").bind("click",function () {
                    var data = $("#input1").val();
                    if (!data) {
                        alert('请输入备注信息:')
                    } else {
                        datas = {
                            missionID: missionId,
                            content: data
                        };
                        $("#win").dialog({
                            closed: true,
                        });
                        $.ajax({
                            "url": "/api/Member/AddMissionReminder",
                            "type": "POST",
                            "data": datas,
                            "dataType": "json",
                            "success": function (e) {
                                if (e.error == '') {
                                    alert("添加备注成功")
                                } else {
                                    alert(e)
                                }
                            }
                        })
                        loadAddRemarksInfo()
                    }  
                })

            }
        }

在这段代码里面有两个有点小坑的地方:

1.当你点击一次以后,看着很正常,然而点击两次后,会弹出两次提示,随着次数的增多,弹出次数依次增加。

解决方法:使用了以下代码:

2.每次填写内容时,你会发现上次填写的内容还存在,很神奇。

解决方法:使用了以下代码:

1. $('#win').form('clear') //在运行之前首先清理掉表单里面的内容。
2. $('#reconfirm').unbind('click'); //每次运行时先解除绑定再重新绑定。 $("#reconfirm").bind("click",function (){})

转载于:https://www.cnblogs.com/niupeinan/p/10712182.html

你可能感兴趣的:(2019.4.15 EasyUI的消息框和对话框的设置)