点击提交按钮后不应采取任何行动(Adobe Livecycle)

时间:2017-01-12 23:48:42

标签: javascript adobe livecycle livecycle-designer

此问题的目的是在用户点击没有地址的提交按钮时弹出警告消息并且不采取任何操作,但问题是提交按钮没有点击事件。

我正在检查一个地址字段,如果地址字段有一些值,那么它应该继续提交表单,否则它应该弹出一条消息而不采取任何行动。

 Form.#pageSet[0].Page1.FOOTER_EN_FRAGMENT.FSSUBMIT_PC::mouseUp - (JavaScript, client)

    var addr1 = HEADER_EN_FRAGMENT.CUSTOMER_ML_ADDRESS_1.rawValue;
    var addr2 = HEADER_EN_FRAGMENT.CUSTOMER_ML_ADDRESS_2.rawValue;

        if(addr1  == null || addr1  == "" || addr2 == null || addr2  == "")
        {
          app.alert("Address field can't be blank!",3); 
          FSSUBMIT_PC.validate = "disable";//need help here
        }

现在它只显示错误消息,但仍然在单击按钮时提交。我希望它不采取任何行动,但我不知道如何在adobe livecycle designer中做到这一点。

另外请告诉我是否有其他方法可以弹出除应用提醒之外的错误消息。

提前致谢!

2 个答案:

答案 0 :(得分:1)

我会像我想的那样做:

var addr1 = HEADER_EN_FRAGMENT.CUSTOMER_ML_ADDRESS_1;
var addr2 = HEADER_EN_FRAGMENT.CUSTOMER_ML_ADDRESS_2;

if(addr1.isNull || addr2.isNull)
{
    app.alert("Address field can't be blank!",3); 
    xfa.event.cancelAction = 1; //This worked for me for cancelling the print process, maybe it will work for you too!
}

我想知道你为什么要在mouseUp - 事件中做到这一点,而不是在click

App.alert通常是最快捷的方式,但如果您想尝试不同的内容,我建议您阅读自定义对话框 - 例如here
还有较旧的xfa版本:MessageBox Docu

答案 1 :(得分:0)

所以基本上我学到的每个按钮都有3个控制类型常规,执行和提交。在提交和执行按钮类型中,我们可以进行点击事件,这样我们需要做的是,添加第二个按钮,控件类型为常规,并将其放在第一个按钮上,控件类型为submit,在第二个按钮中单击甚至调用第一个按钮,

 var addr1 = form1.Page1.HEADER.CUSTOMER_ML_ADDRESS_1.rawValue;
 var addr2 = form1.Page1.HEADER.CUSTOMER_ML_ADDRESS_2.rawValue;

 if(addr1 == null || addr1 == "" || addr2 == null || addr2 == "")
 {
    xfa.host.messageBox("Address field cannot be blank.");  
 }
 else
 {
      FSSUBMIT_PC.execEvent("click");
 }