点击提交按钮后不应该采取任何行动 (Adobe Livecycle)
Should take no action after hitting submit button (Adobe Livecycle)
这个问题的objective是如果用户点击了没有地址的提交按钮并且没有采取任何行动,会弹出一个警告消息,但问题是提交按钮没有点击事件。
我正在检查一个地址字段,如果地址字段有一些值那么它应该继续提交表单,否则它应该弹出一条消息并且不采取任何行动。
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 中执行此操作。
另外请告诉我除了app alert之外还有什么方法可以弹出报错信息
提前致谢!
我会像我想的那样做:
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。
所以基本上我学到的每个按钮都有 3 个控制类型常规、执行和提交。在提交和执行按钮类型中,我们可以有点击事件,所以我们需要做的是,添加第二个控件类型为常规的按钮,并将其放在第一个控件类型为提交的按钮上,在第二个按钮中单击甚至调用第一个按钮,
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");
}
这个问题的objective是如果用户点击了没有地址的提交按钮并且没有采取任何行动,会弹出一个警告消息,但问题是提交按钮没有点击事件。
我正在检查一个地址字段,如果地址字段有一些值那么它应该继续提交表单,否则它应该弹出一条消息并且不采取任何行动。
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 中执行此操作。
另外请告诉我除了app alert之外还有什么方法可以弹出报错信息
提前致谢!
我会像我想的那样做:
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。
所以基本上我学到的每个按钮都有 3 个控制类型常规、执行和提交。在提交和执行按钮类型中,我们可以有点击事件,所以我们需要做的是,添加第二个控件类型为常规的按钮,并将其放在第一个控件类型为提交的按钮上,在第二个按钮中单击甚至调用第一个按钮,
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");
}