显示用于删除项目的弹出消息 [英] Showing the pop up message for deleting the item

查看:78
本文介绍了显示用于删除项目的弹出消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有两个列表Test和Test2.

在测试列表中的字段为 TestID State 下拉菜单具有来自state1,state2,...... state9的值.

Test2 列表中, TestID 字段等

当用户尝试删除测试列表中的项目时,应允许删除其余两个状态(state1,state2)中的项目显示自定义错误消息.

我已经编写了JSOM代码来显示错误消息,但是我需要显示弹出消息以删除state1和state2中的项目其他条件.

请您指导我什么逻辑已经实现了,否则弹出显示删除项目的条件.

<脚本类型=文本/javascript" src ="jquery-1.9.1.min.js"</script> <脚本类型="text/javascript">

var originalDeleteButtonClickHandler = function(){}; $ ctll00

  if(DeleteButton.length> 0){    originalDeletButtonClickHandler = DeleteButton [0] .onclick; }

$(DeleteButton).attr("onclick","DeleteItemConfirmation()");

});

function DeleteItemConfirmation(){

var testId = $("input [title ='TestID必填字段']").val();

var context9 =新的SP.ClientContext.get_current();                               var list9 = context9.get_web().get_lists().getByTitle('Test');          var camlQuery9 =新的SP.CamlQuery();         camlQuery9.set_viewXml(< View>< Query>< Where>< Eq>< FieldRef 名称="TestID"/><值类型=文本">"+ testId +"</Value></Eq></Where></Query></View> ");                              listitem9 = list9.getItems(camlQuery9);         context9.load(listitem9);      context9.executeQueryAsync(Function.createDelegate(this,this.onSuccesserror),Function.createDelegate(this,this.onFailed));

}

函数onSuccesserror(sender,args)            {

var ListEnumerator9 = listitem9.getEnumerator();           而(ListEnumerator9.moveNext()) {                         var currentItem9 = ListEnumerator9.get_current();            var resstate = currentItem9.get_item("State"); ] ]                            if(resstate =="state3" || resstate =="state4" || resstate =="state5" || resstate =="state6" || resstate =="state7" || resstate == "state8" || resstate =="state9")             { alert(数据已被锁定,因为工作单已被提交给客户端."); ]               }               其他 {               b ]               }                           }                   originalDeleteButtonClickHandler();    }

  函数onFailed(sender,args)         {            alert('无法获取列表,错误:'+ args.get_message() +'\ n'+ args.get_stackTrace());        }

问候


感谢与问候,苏德海尔

解决方案

您似乎想要获得确认消息,如果是这样,则可以使用JavaScript确认功能.

此处是示例代码:

函数onSuccesserror(sender,args){
            var ListEnumerator9 = listitem9.getEnumerator();
            而(ListEnumerator9.moveNext()){
                var currentItem9 = ListEnumerator9.get_current();
                var resstate = currentItem9.get_item("State");
                if(resstate =="state3" || resstate =="state4" || resstate =="state5" || resstate =="state6" || resstate =="state7" || resstate == "state8" || resstate =="state9")
                {
                    alert(数据已被锁定,因为工作单已被提交给客户端.");
                }
                别的
                {
                    if(confirm('您要删除该项目吗?')){
                        //删除
                    }
                }
            }
            originalDeleteButtonClickHandler();
        } 

如果这不符合您的要求,请提供更多详细信息.

最好的问候,


Hi,

We have two lists Test and Test2.

In test list have the fields TestID and State drop down have values from state1,state2,......state9.

In Test2 list have the TestID field and etc.

When user try to delete the item in test list it should allow to delete item in two states(state1,state2) for the remaining states it should show the custom error message.

I have wrote the JSOM code for displaying the error message, but I need to show the pop up message for deleting the item in state1 and state2 in else condition.

Could you please guide me what logic have implement  in else condition for display pop up for deleting the item.

< script type="text/javascript"  src="jquery-1.9.1.min.js"></script> < script type="text/javascript">

var originalDeleteButtonClickHandler = function(){}; $ctl00$ctl01$ctl00$toolBarTbl$RptControls$diidIODeleteItem','') $(document).ready(function(){ var DeleteButton = $("ctl00_ctl30_g_b582067c_ea4d_4e32_b448_d555c0074ea2_ctl00_ctl01_ctl00_toolBarTbl_RptControls_diidIODeleteItem");

 if (DeleteButton.length > 0) {     originalDeletButtonClickHandler = DeleteButton[0].onclick; }

$(DeleteButton).attr("onclick", "DeleteItemConfirmation()");

});

function DeleteItemConfirmation() {

                var testId =$("input[title='TestID Required Field']").val();

                var context9 = new SP.ClientContext.get_current();                  var list9 = context9.get_web().get_lists().getByTitle('Test');           var camlQuery9 = new SP.CamlQuery();          camlQuery9.set_viewXml("<View><Query><Where><Eq><FieldRef Name='TestID'/><Value Type='Text'>"+testId+"</Value></Eq></Where></Query></View>");                 listitem9 = list9.getItems(camlQuery9);          context9.load(listitem9);      context9.executeQueryAsync(Function.createDelegate(this,this.onSuccesserror), Function.createDelegate(this,this.onFailed));

           }

function onSuccesserror(sender, args)             {

            var ListEnumerator9 = listitem9.getEnumerator();             while (ListEnumerator9.moveNext()) {             var currentItem9 = ListEnumerator9.get_current();             var resstate = currentItem9.get_item("State");                                                                            if (resstate == "state3" || resstate == "state4" || resstate == "state5" || resstate == "state6" || resstate == "state7" || resstate == "state8" || resstate == "state9" )                     {                       alert("Data is locked because Work Order has already been submitted to client.");                                            }                   else                      {                                                                   }                                }                      originalDeleteButtonClickHandler();    }

   function onFailed(sender, args)          {             alert('failed to get list, Error:'+args.get_message() + '\n' + args.get_stackTrace());         }

</script>

Regards,

Sudheer


Thanks & Regards, Sudheer

解决方案

Hi,

Seems you want to achieve the confirm message, if so, you could use JavaScript confirm function.

Here is sample code:

function onSuccesserror(sender, args)             {
            var ListEnumerator9 = listitem9.getEnumerator();
            while (ListEnumerator9.moveNext()) {
                var currentItem9 = ListEnumerator9.get_current();
                var resstate = currentItem9.get_item("State");
                if (resstate == "state3" || resstate == "state4" || resstate == "state5" || resstate == "state6" || resstate == "state7" || resstate == "state8" || resstate == "state9" )
                {
                    alert("Data is locked because Work Order has already been submitted to client.");
                }
                else
                {
                    if(confirm('Do you want to delete the item?')){
                        //do delete
                    }
                }
            }
            originalDeleteButtonClickHandler();
        }

If this doesn’t meet your requirement, could you provide more details.

Best Regards,

Lee


这篇关于显示用于删除项目的弹出消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆